![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Slet linje i tekstfil | Amok | UNIX for dummyer Spørgsmål & svar | 6 | 12-16-2008 03:44 PM |
| Sådan slettes en bestemt tekst uden at åbne filen. | stevefox | Shell Programmering og Scripting | 12 | 02-21-2008 01:24 PM |
| Slet første linje fra en tekst-fil? | aungomarin | Shell Programmering og Scripting | 5 | 05-16-2006 09:42 PM |
| Sådan slettes væk tekst i en fil? | forevercalz | Shell Programmering og Scripting | 5 | 01-08-2006 10:28 PM |
| slette sidste linje fra tekstfil | hcclnoodles | Shell Programmering og Scripting | 4 | 06-25-2002 09:52 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Overskriv & Slet i Tekstfil
Kære Alle,
Jeg har tekstfil som denne: Header Optag 1 Optag 2 ....... Optag n Hale Denne linje kode: awk '(if (NR \u003d\u003d 1) (hovedet \u003d substr ($ 0,1,300);) else (sidste \u003d substr ($ 0,1,300);) END (printf "Header er:%-300 Trailer er:%-300 \ n ", hoved, sidste) 'filename konverteret Sidehoved og Trailer i en linje, og inden for 300 karakter each.The output er kun én linje. Nu ved jeg vil overskrive dette en linje ovenfor (Header + Tail) over den første linie af oprindelige fil (original header) og slette Tail ........ Jeg kan kopiere denne header og hale i ny fil og derefter append Optag 1 til Record n til denne nye fil, men det vil medføre for lave resultater ........ så jeg synes bedre til at ajourføre første og sidste linje i denne fil ........... ...... så hvordan kan jeg det? dvs 1-opdatering headeren med ny linje dvs (header + påhængsvogn) 2-slette hale i den originale fil (kan bruge afskårne hale -1 filnavn?) |
|
||||
|
Dont bump op dit problem ved at åbne en ny tråd. Du kan løse det i din gamle tråd
Sidehoved og sidefod |
|
||||
|
Gem outputtet fra awk i en variabel gerne
Code:
New_head=$(awk '{ if ( NR == 1 ) { head=substr($0,1,300);} else { last = substr($0,1,300);}END{printf "Header is : %-300s Trailer is : %-300s\n", head, last}' filename )
Code:
sed -e "1 c\ $New_head" -e '$d' filename |
|
||||
|
Takket ..... jeg prøvede den kode, men sed kommandoen ikke fungerer korrekt, er det at give output:
sed: Kommando forvansket: 1 c \ Header er: Headervalue ....... Trailer er: Trailer værdi ..... Det giver ingen ændring i filen som godt. |
|
||||
|
Der har været en anden tråd som lorcan sagt, og det synes kun at være en fortsættelse af ovennævnte tråd i en ny post.
Du fortsætte med at sende dine spørgsmål i samme tråd, så det ville være lettere at følge op snarere end at starte en ny tråd om det samme spørgsmål. Antages det, jeg har forstået Deres krav prøve dette, Code:
awk ' { if ( NR == 1 ) { head=$0 } else { last = $0 } arr[i++]=$0; }END{ printf "Header is : %s Trailer is : %s\n", head, last; for( x=0; x<i-1; x++) { print arr[x] } }' filename
Code:
Header is : header Trailer is : trailer header record 1 record 2 record 3 header er til rådighed alle de registre, der vises trailer registrerer ikke vises Hvis dette ikke er, hvad du havde bedt om, så lad os vide, ![]() |
|
||||
|
ok det er fint, men jeg var bare bekymret over antallet af filer oprettet ........ der er et problem, at jeg får en ekstra linie (tom linie) i slutningen af filen ....... .... hvorfor er der så brug denne kode:
awk '(if (NR \u003d\u003d 1) (hovedet \u003d substr ($ 0,1,149);) else (sidste \u003d substr ($ 0,1,149);) arr [i ++]\u003d$ 0;) END (printf "%-149s% -- 149s \ n ", hoved, sidste, for (x \u003d 1; x <i-1; x++) (print arr[x]) }'file1> fil2 Når jeg åbner fil2, jeg får en ekstra linje .......? |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|