![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
| Slik sletter du en første tomme linjen fra fil | aoussenko | Shell programmering og Skripting | 4 | 06-20-2008 12:05 |
| slett mellomrom i begynnelsen av linjen | karthikn7974 | Shell programmering og Skripting | 4 | 05-07-2008 04:40 |
| hvordan du sletter teksten fra linjen starter pattern1 opptil linje før pattern2? | repudi8or | Shell programmering og Skripting | 5 | 04-15-2008 09:25 |
| hvordan du sletter linje med matchende tekst og line umiddelbart etter | orahi001 | UNIX for Dummies Spørsmål og svar | 6 | 01-15-2008 12:34 |
| regex å slette flere tomme linjer i en fil? | Fedora | Shell programmering og Skripting | 6 | 10-11-2007 04:36 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
sed: slette regex og neste linje hvis blank
Hei,
Jeg vil skrive en sed script som fra Code:
batiato: batiato/giubbe: pip_b.2.txt pip_b.3.txt pip_b.3mmm.txt bennato: bennato/peterpan: 123.txt consoli: pip_a.12.txt daniele: daniele/anna: abc.txt Code:
batiato/giubbe: pip_b.2.txt pip_b.3.txt pip_b.3mmm.txt bennato/peterpan: 123.txt consoli: pip_a.12.txt daniele/anna: abc.txt "Hvis en linje som inneholder": "etterfølges av en tom linje slette begge linjer (i tråd med": "og den tomme linjen)» dvs. noe som generelt hvis en linje som inneholder regex1 etterfølges (rett etter) av en linje som inneholder regex2 slette begge linjene. hvis det skulle være på én linje jeg ville gjøre: sed '/ regex1 .* regex2 / d' -> hvordan å spre denne kommandoen på 2 linjer? Og vurdere hat i mitt tilfelle regex2 er en tom linje (dvs. ^ $). takk |
|
||||
|
Beklager, jeg postet mitt første svar basert på en altfor overfladisk lesning av spørsmålet ditt.
Code:
sed '/:$/!b;N;/:\n$/d' input.txt /:$/! b - hvis ikke en linje som slutter med et kolon, bare hoppe til slutten av skriptet og skrive ut. N - dette er en linje som slutter med et kolon, hente neste linje og lim dem sammen. /: \ n $ / d - hvis den kombinerte to linjer samsvarer med dette mønsteret, slette else, print Det \ n ting fungerer forskjellig i forskjellige versjoner av sed, Men hvis det ikke virker, prøv med en bokstavelig newline, med eller uten en omvendt skråstrek. Sist endret av æra; 09-18-2008 på 05:56.. Reason: Vær oppmerksom på \ n i ulike versjoner av sed |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|