LInux: grep - OR, AND, NOT

So funktioniert das suchen nach Zeichenketten mit grep wenn man nach unterschiedlichen oder mehreren Strings sucht. Oder eben bestimmte nicht anzeigen möchte.

Hier ein paar Beispiele für OR, AND, NOT Operatoren mit dem Linux grep:

 

OR - In vier unterschiedlichen Schreibweisen

Gibt die Zeile aus, in der das Wort zeichenkette1 oder zeichenkette2 vorkommt.

grep 'zeichenkette1\|zeichenkette2' dateiname
grep -E 'zeichenkette1|zeichenkette2' dateiname
egrep 'zeichenkette1|zeichenkette2' dateiname
grep -e zeichenkette1 -e zeichenkette2 dateiname

 

AND

Eigentlich gibt es in grep keinen AND-Operator. Daher können wir uns mit der Option -E und RegEx helfen:

Gibt die gefundene Zeile aus, wenn die gesuchten Zeichenketten hintereinander gefunden werden:

grep -E 'zeichenkette1.*zeichenkette2' dateiname

Kommen die gesuchten Worte in unterschiedlichen Reihenfolgen vor, können wir die Suche mit dem OR-Operator verbinden:

grep -E 'zeichenkette1.*zeichenkette2|zeichenkette2.*zeichenkette1' dateiname

Das geht natürlich auch mit dem verketten zweier grep-Aufrufe:

grep zeichenkette1 dateiname | grep zeichenkette2

 

NOT

Ausgabe aller Zeilen, die nicht das gesuchte Wort enthalten:

grep -v zeichenkette dateiname
Neuen Kommentar hinzufügen

Sie können einen Kommentar abgeben, indem Sie das unten stehende Formular ausfüllen. Nur Text.

Ihre E-Mail-Adresse wird nicht veröffentlicht