grep ist der Standardbefehl unter Linux und macOS, um Textmuster (reguläre Ausdrücke) in Dateien und Ausgaben zu suchen. Der Name steht für global regular expression print.

Grundlagen

grep "fehler" logfile.txt      # Zeilen mit 'fehler' anzeigen
grep -i "error" *.log          # Groß/klein ignorieren
grep -r "TODO" src/            # rekursiv im Verzeichnis suchen

Wichtige Optionen

grep -v "debug" datei          # invertieren: Zeilen OHNE Treffer
grep -n "warn" datei           # Zeilennummern ausgeben
grep -c "success" datei        # nur Anzahl zählen
grep -l "passwort" *.conf      # nur Dateinamen ausgeben
grep -E "foo|bar" datei        # erweiterte Regex (egrep)

Mit Pipes kombinieren

ps aux | grep ssh              # Prozesse filtern
history | grep "git commit"    # in der Historie suchen
tail -f app.log | grep "ERROR" # Logs live filtern

Praxis-Tipps

  • grep -i spart Zeit, wenn die Groß-/Kleinschreibung egal ist.
  • Für ganze Wörter: grep -w wort, für echte reguläre Ausdrücke grep -E.
  • Alternativen je nach Kontext: rg (ripgrep, schneller) und ag (The Silver Searcher).

Verwandte Grundlagen: Bash-Befehle und Regex.