![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen! |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Bruker Historie og commnad logg | jaydeep_sadaria | UNIX for Dummies Spørsmål og svar | 5 | 02-11-2008 04:01 |
| sortering fil og unike commnad .. | Amon | Shell programmering og Skripting | 2 | 02-16-2006 05:19 |
| grep commnad | props | Shell programmering og Skripting | 5 | 12-14-2004 07:50 |
| Commnad for å få båndbredde | skotapal | UNIX for Dummies Spørsmål og svar | 5 | 01-16-2003 08:47 |
| Hvordan commnad halen iverksette | chenhao_no1 | High Level Programmering | 1 | 08-23-2002 02:13 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Hvordan bruke awk commnad?
Hei,
Jeg har en fil og innholdet av filen si Verden Verden Verden Nå trenger jeg å legge noen flere ord i hvert av linjen og utgang av filen bør slikt som dette Vil India vinne VM? Vil India vinne VM? Vil India vinne VM? Hvordan kan dette gjøres ved hjelp av awk kommandoen.? |
|
||||
|
Har du Givin prøve ennå? Eventuelle forslag som du kan ha å tilby? Det høres ut som en hjemmelekse problem som ikke er en fryktelig ting hvis du har gitt noen tenkt og gjort noen forsøk før vi ber om hjelp.
Carl |
|
||||
|
Mens jeg sikker på at awk kan gjøre det, det første jeg tenkte på da jeg leste ditt problem var å bruke sed. Prøv dette:
# sed 's / ^ / Will India vinne / g' arkiv> fil1 # Mv fil1 fil # sed 's / $ / Cup / g' arkiv> fil1 # Mv fil1 fil sed er et godt redskap når du trenger å gjøre flere enkle redigeringer til en tekstfil. I dette tilfellet, her er hva min kode gjør: Først den generelle formatet i en sed kommandoen: # sed <some commands> <file til edit> The 's / ^ / Will India vinne / g' file sier: s - erstatning ^ - Dette er vanlig uttrykk som betyr "begynnelsen av linjen". Vil India vinne - Dette er de ordene som må gå foran "World". g - globalt. Hvis du ikke spesifiserer dette, sed gjelder endringen du ber om at bare den første linjen som matcher det regulære uttrykket. Bruke en g her betyr gjøre denne endringen overalt (i dette tilfellet betyr overalt "hver linje"). Slutten av linjen har "file> fil1". Når du bruker tekst behandling kommandoer som sed, Awk, grep, skall, og perlEr det VERY viktig at du ikke omdirigere utdataene rett tilbake til filen som du leser. For eksempel: aldri gjøre dette -- sed noen kommandoer file> arkiv Det vil føre til alle slags rare ting å skje. Løsningen er å lagre utdata av en kommando til en annen fil, og bruk deretter mv kommandoen for å endre navn på den nye filen tilbake til den gamle. Så setter det hele sammen: # sed 's (ubstitute) / ^ (i begynnelsen av linjen) / (alle ting mellom disse to skråstreker) Vil India vinne / g (lobally)' fila> (lagre output inn) fil1 (eller hva du vil å kalle den andre filen). Jeg gjetter at du kan finne ut det andre sed kommandoen. The $ er den vanlige expresion som betyr "slutten av linjen". Mellom disse 4 kommandoer, som skal gjøre hva du vil. Så det er slik jeg ville gjøre det i sed. Jeg er nysgjerrig, kan noen forklare hvordan du gjør det i awk? |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|