grep ist ein Filter, mit dem man nach Mustern (regulären Ausdrücken) suchen kann.
"grep" steht für "global regular expression print".
Beispiele
grep Google access.log
Sucht in der Datei access.log nach Zeilen, die "Google" enthalten.
grep -i google access.log
wie oben, ignoriert aber die Groß/Klein-Schreibung.
grep -i -v google access.log
wie oben, gibt aber nur die nicht passenden Zeilen aus.
grep -v ^# config
Gibt alle Zeilen aus config aus, die nicht mit # anfangen (also die nicht-kommentierten Zeilen).
cat datei | egrep -v "(^#.*|^$)"
Gibt nur jene Zeilen der Datei "datei" aus, die weder kommentiert sind (also nicht mit # anfangen), noch leer sind (^$).
Anwendungsbeispiele
Richtig Spaß macht grep, wenn man es mit Pipes verknüpft:
Dies hier findet den Titel einer HTML-Datei:
cat heiopei.html | tr "\n<>" "\a\n\n" | egrep -i -A1 "^title$" | tail -n1
Durchsuchen aller "normalen" (keine Sockets, Fifos, Devices) Dateien nach dem Wort "TEST" mit dem Befehl:
grep -D skip -l "TEST" -R /