The UNIX and Linux Forums  
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.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



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

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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-19-2009
Juha Juha is offline
Registered User
  
 

Join Date: Sep 2006
Inlägg: 36
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
Jag försökte detta:

Kod:
sed -e '/\<ProcessType\>/,/$/d' < log.txt > test
Men det bara resulterade i detta:

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
  #2 (permalänk)  
Old 03-19-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.300
Om awk är tillåtna:

Kod:
awk '/ProcessType:/ && !p {i=-4;p=1} i++ > 0' file
Hälsningar
  #3 (permalänk)  
Old 03-19-2009
Juha Juha is offline
Registered User
  
 

Join Date: Sep 2006
Inlägg: 36
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
Med nawk det utför, utan endast tar bort det första exemplet på att "blockera"

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
...
  #4 (permalänk)  
Old 03-19-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.300
Jag missförstod frågan Detta bör ta bort de första 4 raderna i alla block:

Kod:
nawk '/ProcessType:/{i=-4} i++ > 0' file
Hälsningar
  #5 (permalänk)  
Old 03-19-2009
Juha Juha is offline
Registered User
  
 

Join Date: Sep 2006
Inlägg: 36
Stor! Det fungerar perfekt! tack
  #6 (permalänk)  
Old 03-19-2009
Shahul's Avatar
Shahul Shahul is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Indien
Inlägg: 175
Hej,

Hoppas att detta också kan hjälpa dig ..

Kod:
sed -n  '/ProcessType:/ {n;n;n;n;n;p}' out1.lst
Tack
Sha
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 03:03.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0