PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : grep: Zwei Argumente zwingend



poi
19-07-2004, 10:59
Hallo,
ich will grep (egrep) anweisen, 2 Argumente anzuwenden um eine Zeile auszuwerfen. Treffen diese beiden Argumente in einer Zeile NICHT zu, soll auch keine Ausgabe erfolgen.

Ich bin zu blöde, irgendwas blockiert bei mir :o

Tx!

Claudine
19-07-2004, 19:57
Poste mal einen Beispieltext der gefunden werden soll.
Bitte.

poi
19-07-2004, 21:02
Ach... ist nichts besonderes:


"Er fragt: Wer hat Angst vorm Weihnachtsmann?
Keiner!"

cat [datei] | egrep [nur wenn ":" und "Angst" passt] > datei.txt

Das ist wichtig, da einige Texte eine Doppelte Zeile besitzen, die eingerückt ist. Ich will also eine Ausgabe der ersten Zeile des Textblocks, was ich hiermit erreichen kann, da diese Werte in jeder Zeile passen müssen. Wenn sie nicht vorhanden sind, keine Ausgabe. Das ich auch richtig so...

Denkbar wäre auch wenn es einfacher ist, Zeilen die Leerzeichen am Anfang haben ignorieren zu lassen. Würde auch reichen, dann brauche ich nur ein Argument "Angst".

Für mich ist das noch Neuland... naja, so ganz neu nun auch nicht. Aber Bücher welzen und nix finden nervt ganz schön ab. Und mit Suche im Internet habe ich auch schon eine gute Stunde verbraucht...

Tx!

peschmae
19-07-2004, 22:02
Ich weiss nicht ob grep das einfach so direkt kann per default macht grep wenn man mit
grep -e "irgendwas" -e "sonstwas"
sucht nämlich eine Suche nach irgendwas oder sonstwas.

Das gesuchte Verhalten gibts mit
grep -v "^ " | grep Angst
oder
grep : | grep Angst

MfG Peschmä

Claudine
20-07-2004, 05:42
Ach... ist nichts besonderes:


"Er fragt: Wer hat Angst vorm Weihnachtsmann?
Keiner!"

cat [datei] | egrep [nur wenn ":" und "Angst" passt] > datei.txt



awk '/Angst/&&/\:/{print}' piff.txt > datei.txt

Ist zwar kein (e|f)grep, aber funktioniert.

poi
20-07-2004, 11:23
grep : | grep Angst

Johoo... datt klappert! Mann bin ich blöde, logisch.

Daahaanke! :D

poi
20-07-2004, 11:26
awk '/Angst/&&/\:/{print}' piff.txt > datei.txt

Ist zwar kein (e|f)grep, aber funktioniert.

Danke! Auch eine coole Sache... ich beschäftige mich mit mal näher mit awk!

Hat mir Viel gebracht!! :p