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 /

grep (zuletzt geändert am 2009-05-22 17:35:37 durch svenguckes)