Veröffentlicht 9. Januar 200619 j 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.
9. Januar 200619 j Autor Also ich hab eine Lösung gefunden. Falls es jemanden interessiert: cat testfile | awk ' /string1/ ; /string2/' bzw. awk ' /string1/ ; /string2/' testfile
16. Januar 200619 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.