The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
for å finne hodet i MP3-filen og hente data shashi High Level Programmering 2 09-12-2008 04:03
Hvordan du kan hente data fra en stor fil? srsahu75 Shell programmering og Skripting 5 01-18-2008 05:06
søk og hente data fra en stor fil ting123 UNIX for Dummies Spørsmål og svar 1 06-06-2006 10:41
sed, sette inn data fra en fil til en annen? ctcuser Shell programmering og Skripting 4 05-03-2005 02:43
Sett inn en linje som den første linjen i en svært stor fil skrik UNIX for Advanced & ekspertbrukere 3 03-09-2005 01:22

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-10-2009
deepaktanna deepaktanna is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Innlegg: 4
Question sette inn en overskrift i en stor datafil uten å bruke en mellomtid fil

Jeg har en fil med data utdraget, og må sette inn en overskrift med en konstant streng, sier: H | PayerDataExtract

hvis jeg bruker sed, Jeg nødt til å omdirigere utdataene til en egen fil som

sed ' sed kommandoene 'ExtractDataFile.dat> ExtractDataFileWithHeader.dat

det samme gjelder for awk

og i sin simplist form kunne jeg si
echo 'H | PayerDataExtract'> ExtractDataFileWithHeader.dat
cat ExtractDataFile.dat>> ExtractDataFileWithHeader.dat
mv ExtractDataFileWithHeader.dat ExtractDataFile.dat

men i alle de ovenfor en ekstra filen er opprettet. Hvis jeg skulle gjøre dette på VI manuelt den ekstra filen kan unngås.

Finnes det en måte å unngå de ekstra filen samtidig ikke å måtte manuelt bruk VI på en interaktiv måte? Dette er enda mer nødvendig hvis filen bruker over 50% filespace og en ekstra fil vil bare doble mitt bruk, selv om midlertidig
  #2 (permalink)  
Old 02-10-2009
quirkasaurus's Avatar
quirkasaurus quirkasaurus is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Beliggenhet: Canton, Michigan
Innlegg: 373
Dette er galskap, jeg er enig.

Vanligvis, i situasjoner som dette, bruker jeg en "original_file_name.info" fil i stedet.

I. Informasjon filen jeg legge all informasjon som er nødvendig for et annet program / bruker
å kontrollere innholdet i den store filen i laget.

Det finnes andre alternativer. . . . som skaper en dummy header post i
filen oppretting programmet. . . og deretter bruke fseek () til å hoppe tilbake til
begynnelsen og overskrive overskriften info ....

men du kan ikke ha så mye kontroll over hvordan denne filen er opprettet.
  #3 (permalink)  
Old 02-10-2009
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Bli Date: Feb 2004
Beliggenhet: NM
Innlegg: 5776
Det er "rediger i stedet 'funksjoner for GNU sed og for perl (perl -kake " perl script her ').
Men de gjør bruk tmp filer bak kulissene
  #4 (permalink)  
Old 02-10-2009
ddreggors ddreggors is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 91
Du kan også bruke sed 'Sett inn' kommando sammen med-i (inline) muligheten til å plassere den "overskriften" på et bestemt linjenummer (som linje 1).

Noe sånt som dette skal fungere:
Code:
sed -i '1 i \Some Header Text Here' ExtractDataFile.dat
  #5 (permalink)  
Old 02-11-2009
angheloko's Avatar
angheloko angheloko is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Sted: Filippinene
Innlegg: 125
Hvorfor ikke opprette en ed skript i stedet? Og så bruke "lapp"? Men det vil fortsatt kreve en midlertidig fil i bakgrunnen selv om du ikke ønsker varsel.
  #6 (permalink)  
Old 02-18-2009
deepaktanna deepaktanna is offline
Registrert bruker
  
 

Bli Date: Feb 2009
Innlegg: 4
Unhappy

hei ddreggors / jim

Jeg prøvde dette - og det mislykkes med under feil

sed -i '1 i \ HeaderText 'ExtractDataFile.txt
sed: Ulovlige alternativet - i

Systemet er en SunOS ussun1l 5,8 Generic_117350-60 sun4u SPARC SUNW, Sun-Fire-15000

den, det perl alternativet er ute for meg som kunden kanskje ikke ønsker å installere noen software uten virksomhet årsaken er, men så lenge tmp-filen er opprettet i / tmp plass og ikke mitt arkiv-dir jeg tror jeg er ok - ikke mer ideer anyone?
  #7 (permalink)  
Old 02-18-2009
ddreggors ddreggors is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Innlegg: 91
prøv dette:
Code:
sed 1'i\HeaderText' ExtractDataFile.txt
Hvis dette utganger til skjermen som forventet (dette ikke oppdatere filen) og den indre "jeg" (sett inn kommandoen) arbeider fin.

Neste prøve:

Code:
sed -i 1'i\HeaderText' ExtractDataFile.txt
Hvis enten gir en feil da du må oppgradere sed å få bruken av "inline" flagget (-i) eller sette kommandoen ( 'i \ tekst') for å kunne gjøre dette uten å skrive til en annen fil først og angi et linjenummer.
Closed Thread

Hugseliste

Tags
ikke-interaktiv vi

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 05:10.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0