The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



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
Matchende områder rækker og derefter opererer ashis.tewari Shell Programmering og Scripting 3 12-04-2008 09:02 AM
summen af alle matchende rækker bruger awk i.scientist UNIX for dummyer Spørgsmål & svar 8 08-06-2008 09:13 PM
Sådan slettes duplikateksemplar rækker i en fil vamshikrishnab Shell Programmering og Scripting 5 06-18-2008 11:00 AM
Sådan slettes særlig rækker fra en fil suresh3566 Shell Programmering og Scripting 5 06-02-2008 06:07 AM
Slet gentagne rækker fra en fil tonet Shell Programmering og Scripting 8 04-08-2008 10:42 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 03-19-2009
Juha Juha is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 36
SED: slette matchende rækken og 4 næste rækker?

Hej,

Forsøgt at søge løsning, og fundet noget lignende, men ikke kunne tilpasse løsningen for mine behov ..

Jeg forsøger at matche et mønster (i dette tilfælde "ProcessType") i en logfil, derefter slette denne linje og de 4 følgende linjer.

Den logfile ser ud som følger:
Code:
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
Jeg prøvede dette:

Code:
sed -e '/\<ProcessType\>/,/$/d' < log.txt > test
Men at det kun resulteret i dette:

Code:
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 (permalink)  
Old 03-19-2009
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.319
Hvis awk er tilladt:

Code:
awk '/ProcessType:/ && !p {i=-4;p=1} i++ > 0' file
Hilsen
  #3 (permalink)  
Old 03-19-2009
Juha Juha is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 36
Takket Franklin, ikke fungerede for mig dog ..

Code:
# 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 udfører, men kun sletter den første forekomst af, at "blokere"

Code:
# 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 (permalink)  
Old 03-19-2009
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.319
Jeg misforstod spørgsmålet, bør dette slette de første 4 linjer i alle blokke:

Code:
nawk '/ProcessType:/{i=-4} i++ > 0' file
Hilsen
  #5 (permalink)  
Old 03-19-2009
Juha Juha is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 36
Stor! Det fungerer perfekt! tak
  #6 (permalink)  
Old 03-19-2009
Shahul's Avatar
Shahul Shahul is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Beliggenhed: Indien
Stillinger: 175
Hej,

Håber, at dette også kan hjælpe dig ..

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

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 09:39 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0