grep Cheatsheet

Diese Übersicht fasst häufig von mir genutzte grep-Befehle für die Textsuche in Dateien zusammen.

Bash
grep "pattern" file.txt
# sucht nach dem Muster [pattern] in Datei file.txt

grep -i "pattern" file.txt
# ignoriert Groß-/Kleinschreibung

grep -R "pattern" /path
# sucht rekursiv nach allen Dateien die das Muster [pattern] enthalten

grep -n "pattern" *.txt
# zeigt die gefundenen Zeilen mit Zeilennummern an

grep -v "^#" file.txt
# zeigt alle Zeilen, die nicht mit # beginnen (filtert Kommentare aus)

grep -c "pattern" file.txt
# gibt die Anzahl der Treffer zurück, wenn ein Verzeichnis angegeben wurde, dann pro Datei

grep -l "pattern" /path
# zeigt jede Datei an, die das Muster [pattern] enthält

grep -w "pattern" file.txt
# es wird nach [pattern] als ganzes Wort gesucht

grep --color=auto "pattern" file.txt
# gefundene Stellen werden farblich hervorgehoben

grep -A 2 "pattern" file.txt
# zeigt 2 Zeilen **nach** jedem Treffer an

grep -B 2 "pattern" file.txt
# zeigt 2 Zeilen **vor** jedem Treffer an

grep -C 2 "pattern" file.txt
# zeigt 2 Zeilen **vor** und **nach** jedem Treffer an

grep -E "pattern1|pattern2|pattern3" file.txt
# zeigt alle Zeilen an, die mindestens eines der Muster [pattern*] enthält

grep "pattern1" file.txt | grep "pattern2" | grep "pattern3"
# zeigt nur Zeilen an, auf die **alle 3** Muster [pattern] zutreffen (logisches und)

awk '/pattern1/ && /pattern2/ && /pattern3/' file.txt
# alternativ zu vorhergendem Beispiel unter Berücksichtigung der Groß-/Kleinschreibung

grep -Rin "pattern" /path
# rekursiv, keine Berücksichtigung von Groß-/Kleinschreibung, Anzeige von Zeilennummern

grep -Ril "pattern" /path
# rekursiv, keine Berücksichtigung von Groß-/Kleinschreibung, zeige nur Dateinamen an

Kommentare

Schreibe einen Kommentar