Linux: grep
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