Crash2001 Geschrieben 9. Januar 2006 Geschrieben 9. Januar 2006 Also ich möchte aus einer Datei oder einer Ausgabe Zeilen herausfiltern. Soweit ja mit grep kein Problem. Es sollen jedoch nun die Zeilen herausgefiltert werden, die einen bestimmten String1 und/oder einen anderen bestimmten String2 enthalten. Diese beiden strings sind sich jedoch nicht ähnlich, so dass man dies nicht z.b. per cat /var/log/dmesg | grep [hs]d[ab] machen kann. Ich finde bisher keine Möglichkeit, dies in einem Durchlauf zu machen, was jedoch bei einer Ausgabefilterung besonders sinnvoll wäre. Zu sed schaue ich mir grad die manpage an, kann jedoch mangels eines Linux-PCs hier gerade auch nichts ausprobieren. Beispiel: hallo blablabla dummdidumm welt k.A. test 12345 Wie bekomme ich nun alle Zeilen per Filterung ausgegeben, die die Strings "hallo" und/oder "welt" enthalten? Ist das mit grep überhaupt möglich und falls ja, wie? Ist das ansonsten mit sed möglich und falls ja, wie? P.S.: Ich will nicht grep zweimal hintereinander laufen lassen, da dies auch z.B. mit tail -f /var/log/emerge funktionieren soll und die Ausgabe für den zweiten Suchstring sonst gar nciht abgearbeitet werden würde. Zitieren
Crash2001 Geschrieben 9. Januar 2006 Autor Geschrieben 9. Januar 2006 Also ich hab eine Lösung gefunden. Falls es jemanden interessiert: cat testfile | awk ' /string1/ ; /string2/' bzw. awk ' /string1/ ; /string2/' testfile Zitieren
Kernel-Error Geschrieben 16. Januar 2006 Geschrieben 16. Januar 2006 Hi! so: cat test |grep 'hallo\|welt' test ist dabei meine Datei mit dem Inhalt: hallo blablabla dummdidumm welt k.A. test 12345 In den manpages zu grep steht dazu folgendes: \| die durch den Operator \| verbundenden Argumente werden oder verknupft Wichtig ist dabei nur die '............ MFG Kernel-Error Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.