The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Sed Range Issue Wrathe Programmeren en Shell Scripting 2 06-17-2008 04:54 PM
nawk-how van het aantal voorkomens van een patroon, weet niet wanneer het patroon cyber111 Programmeren en Shell Scripting 2 05-11-2008 04:00
SED zoekpatroon en Vervang de patroon racbern Programmeren en Shell Scripting 4 03-15-2008 05:59
Patroon zoeken patroon in c-bestanden murthybptl Programmeren en Shell Scripting 6 11-17-2007 09:15
Zoek bestand voor patroon en grijper sommige lijnen vóór patroon frustrated1 Programmeren en Shell Scripting 2 12-22-2005 03:41 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-26-2008
zonk sank is offline
Geregistreerde gebruiker
  
 

Join Date: Feb 2008
Posts: 24
Hulp nodig sed waaier patroon

Hi all,

Ik gebruik sed voor de extractie van de lijnen die optreedt tussen de 2 patronen met het volgende commando:

sed -n '/ pattern1 /, / pattern2 /' bestandsnaam

Het bovenstaande commando heeft geen enkel probleem en werkt prima. Maar ik vroeg me af of er een manier om te stoppen sed wanneer hij heeft gewonnen de reeks ten minste een keer? Dit is nodig omdat het dossier hebben alleen een optreden van het bovenstaande patroon bereik en ook de input-bestand op die sed actief is groot.

Thanks in advance.
zonk.
  #2 (permalink)  
Old 02-26-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmeur, auteur
  
 

Join Datum: maart 2007
Plaats: Toronto, Canada
Berichten: 2380
Citaat:
Oorspronkelijk geplaatst door zonk View Post
Hi all,

Ik gebruik sed voor de extractie van de lijnen die optreedt tussen de 2 patronen met het volgende commando:

sed -n '/ pattern1 /, / pattern2 /' bestandsnaam

Het bovenstaande commando heeft geen enkel probleem en werkt prima. Maar ik vroeg me af of er een manier om te stoppen sed wanneer hij heeft gewonnen de reeks ten minste een keer? Dit is nodig omdat het dossier hebben alleen een optreden van het bovenstaande patroon bereik en ook de input-bestand op die sed actief is groot.


Code:
sed -n -e '/pattern1/,/pattern2/' -e '/pattern2/q' filename

  #3 (permalink)  
Old 02-27-2008
zonk sank is offline
Geregistreerde gebruiker
  
 

Join Date: Feb 2008
Posts: 24
Hoi,

bedankt voor het antwoord. Het werkt goed wanneer pattern1 en pattern2 zijn totaal verschillend. In sommige gevallen, pattern2 zal een deel van pattern1 en in dit geval, zal het gewoon printen pattern1 en uitgangen. hoe kunnen we dit vermijden?

Ook pattern2 kan zich (meerdere malen) vóór pattern1 zelf, omdat het kan koppelen met andere patronen te vormen een ander bereik. ja, hoe kunnen we het commando zodat "-e '/ pattern2 / q" deel is alleen effectief als het zoeken is in de reeks?

Thanks again,
zonk.
  #4 (permalink)  
Old 02-27-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: Feb 2006
Locatie: Almería, Spanje
Posts: 393
Probeer:

Code:
awk '/pattern2/&&f{exit}f;/pattern1/{f++}' file


Laatst gewijzigd door Klashxx; op 02.27.2008 06:06..
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 10:00.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0