Linux: grep

18. November 2023

Das grep-Kommando in Linux wird verwendet, um Text in Dateien zu suchen und anzuzeigen, die bestimmten Mustern entsprechen. Nachfolgend sind einige grundlegende Konzepte aufgelistet, um einen ersten Überblick zu schaffen.

Falls der Suchtext aus mehreren Wörtern besteht, muss dieser in Anführungszeichen geschrieben werden.

Klassische Suche

Alle Zeilen ausgeben, die „suchtext“ enthalten

grep suchtext script.sh

Das gleiche, allerdings unabhängig von Groß-/Kleinschreibung

grep -i suchtext script.sh

Suche nach mehreren Suchtexten mit option -e

grep -e suchtext1 -e suchtext2 script.sh

Suche in mehreren Dateien

grep suchtext script.sh script2.sh

Suchtext muss ein Wort sein (Anfang/Ende einer Zeile oder Whitespaces)

grep -w suchtext script.sh

Suche aller Dateien im Verzeichnis rekursiv

grep -r suchtext verzeichnis/

Bei der Ausgabe die Zeilennummer anzeigen, in denen das Ergebnis gefunden wurde

grep -n suchtext script.sh

Nur Zeilen ausgeben, die mit „suchtext“ anfangen

grep ^suchtext script.sh

Nur Zeilen ausgeben, die mit „suchtext“ enden

grep suchtext$ script.sh

Hierbei sieht man schon, dass grep Regex (in der Basic-Variante) automatisch unterstützt. Für erweiterte Regex-Suchen muss der Suchtext mit der Option -E angegeben werden.

Zeilen ausgeben, die dem Suchtext NICHT entsprechend

grep -v suchtext script.sh

Zusätzliche Zeilen ausgeben

Zusätzlich zum Ergebnis die zwei vorherigen Zeilen ausgeben

grep -B 2 suchtext script.sh

Zusätzlich zum Ergebnis die zwei nachfolgenden Zeilen ausgeben

grep -A 2 suchtext script.sh

Zusätzlich zum Ergebnis die zwei vorherigen und nachfolgenden Zeilen ausgeben

grep -C 2 suchtext script.sh

Anzahl der gefundenen Zeilen ausgeben

grep -c suchtext script.sh