Hallo,
angenommen ich habe ein File in folgendem Format:
11341234 0001 000134
45323455 0003 000143
Wie kann ich nur die Zeile extrahieren, die ein 0001 in der 2. Spalte hat. Meine Versuche mit egrep und /\<0001\>/ bzw. /0001\t/ führen leider nicht zum gewünschten Ergebnis.
Wo liegt der Fehler?
TIA
Robert
Probleme mit regulärem Ausdruck
Re: Probleme mit regulärem Ausdruck
Hallo!
Laut der Manualpage versteht grep kein \t. Du kannst aber mal
cat datei.foo | egrep '^[1234567890]{8}.*0001.*[1234567890]{6}$'
probieren.
Grüße von Wolfgang
Laut der Manualpage versteht grep kein \t. Du kannst aber mal
cat datei.foo | egrep '^[1234567890]{8}.*0001.*[1234567890]{6}$'
probieren.
Grüße von Wolfgang
Re: Probleme mit regulärem Ausdruck
Hi!
So sollte es funktionieren:
cat datei | awk '{if ($2=="0001") print $0}'
So sollte es funktionieren:
cat datei | awk '{if ($2=="0001") print $0}'
Gruß
Eddie
Eddie
Re: Probleme mit regulärem Ausdruck
Mit grep:<pre>grep '^[^ ]* 0001 ' foo.dat</pre><li>^ bindet den RA an den Anfang der Zeile
<li>[^ ]* steht für die Folge von Nicht-Trennzeichen (also Blanks), die das erste Feld ausmachen
<li> 0001 (inkl. der Blanks darum) steht für den gesuchten Inhalt des zweiten Feldes
Und wenn man's mit dem awk macht, sollte man dessen Features auch ausnutzen:<pre>awk '$2 == "0001"' foo.dat</pre>reicht völlig - print ist die Default-Aktion, wenn man zu einer Auswahlbedingug keine Aktion angibt. (Sorry, Eddie, konnte der Versuchung nicht widerstehen <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">)
<li>[^ ]* steht für die Folge von Nicht-Trennzeichen (also Blanks), die das erste Feld ausmachen
<li> 0001 (inkl. der Blanks darum) steht für den gesuchten Inhalt des zweiten Feldes
Und wenn man's mit dem awk macht, sollte man dessen Features auch ausnutzen:<pre>awk '$2 == "0001"' foo.dat</pre>reicht völlig - print ist die Default-Aktion, wenn man zu einer Auswahlbedingug keine Aktion angibt. (Sorry, Eddie, konnte der Versuchung nicht widerstehen <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">)
Re: Probleme mit regulärem Ausdruck
@Jochen
awk ist nicht so ganz mein Geschmack. Normalerweise versuche ich alles mit grep oder sed oder so... <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
awk ist nicht so ganz mein Geschmack. Normalerweise versuche ich alles mit grep oder sed oder so... <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Gruß
Eddie
Eddie