![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Matchande fält rader och sedan arbetar | ashis.tewari | Shell-programmering och Skript | 3 | 12-04-2008 09:02 |
| summan av alla matchande rader med hjälp av awk | i.scientist | UNIX for Dummies Frågor & Svar | 8 | 08-06-2008 08:13 |
| Ta bort duplikat rader i en fil | vamshikrishnab | Shell-programmering och Skript | 5 | 06-18-2008 10:00 |
| Ta bort allt rader från en fil | suresh3566 | Shell-programmering och Skript | 5 | 06-02-2008 05:07 |
| Radera upprepade rader från en fil | tonet | Shell-programmering och Skript | 8 | 04-08-2008 09:42 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
SED: radera matchningsalternativ raden och 4 nästa rader?
Hej,
Försökt att leta efter lösningen, och hittat något liknande men inte kunde anpassa lösningen för mina behov .. Jag försöker att matcha ett mönster (i detta fall "ProcessType") i en loggfil, sedan ta bort den raden och 4 följande rader. Den loggfil ser ut enligt följande: Kod:
ProcessType: PROCESS_A (0) <---- delete this SequenceNumber: 8285 <---- delete this <---- delete this 2009 Mar 07 22:04:23:679 0:8285 <---- delete this <---- delete this ProcessType: PROCESS_A (0) SequenceNumber: 8286 2009 Mar 07 22:04:23:679 0:8286 ProcessType: PROCESS_B (68) SequenceNumber: 40689 2009 Mar 07 22:04:23:698 68:40689 DATA that should not be deleted ProcessType: PROCESS_B (68) SequenceNumber: 40690 2009 Mar 07 22:04:23:698 68:40690 DATA that should not be deleted ProcessType: PROCESS_C (93) SequenceNumber: 36235 2009 Mar 07 22:04:23:829 93:36235 ProcessType: PROCESS_C (93) SequenceNumber: 36236 2009 Mar 07 22:04:23:829 93:36236 DATA that should not be deleted Kod:
sed -e '/\<ProcessType\>/,/$/d' < log.txt > test Kod:
2009 Mar 07 22:04:23:679 0:8285 2009 Mar 07 22:04:23:679 0:8286 2009 Mar 07 22:04:23:698 68:40689 2009 Mar 07 22:04:23:698 68:40690 2009 Mar 07 22:04:23:829 93:36235 2009 Mar 07 22:04:23:829 93:36236 2009 Mar 07 22:04:23:945 91:89062 2009 Mar 07 22:04:23:945 91:89063 2009 Mar 07 22:04:24:018 91:89064 2009 Mar 07 22:04:24:018 91:89065 2009 Mar 07 22:04:24:018 91:89066 |
|
||||
|
Tack Franklin, inte fungerade för mig dock ..
Kod:
# awk '/ProcessType:/ && !p {i=-4;p=1} i++ > 0' file
awk: syntax error near line 1
awk: bailing out near line 1
Kod:
# nawk '/ProcessType:/ && !p {i=-4;p=1} i++ > 0' file
ProcessType: PROCESS_A (0)
SequenceNumber: 8286
2009 Mar 07 22:04:23:679 0:8286
ProcessType: PROCESS_B (68)
SequenceNumber: 40689
2009 Mar 07 22:04:23:698 68:40689
DATA that should not be deleted
ProcessType: PROCESS_B (68)
SequenceNumber: 40690
...
|