Suche nach mehreren Wörtern / Strings mit grep auf der Kommandozeile / Linux Bash Shell

Die Syntax lautet:

  1. mit einfachen Anführungszeichen: grep ‘pattern*’ file1 file2
  2. mit regulären Ausdrücken: egrep ‘pattern1|pattern2’ *
  3. auf älteren Unix Shells: grep -e pattern1 -e pattern2 *

Beispiel:

Suche nach Fehlern in einer Textdatei namens /var/log/messages

grep 'warning\|error\|critical' /var/log/messages

Um Wörter für eine Übereinstimmung zu suchen, füge den Parameter -w hinzu:

grep -w 'warning\|error\|critical' /var/log/messages

Wenn Du egrep verwendest, kannst Du die obige Maskierung von | (= oder) vernachlässigen:

egrep -w 'warning|error|critical' /var/log/messages

Oder

grep -e 'warning|error|critical' /var/log/messages

Ich empfehle noch die Optionen -i (ignoriere Groß-/Kleinschreibung) und die Option –color

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.