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
Schreibe einen Kommentar
Du musst angemeldet sein, um einen Kommentar abzugeben.