grep durchsucht alle Zeilen einer Datei nach dem angegebenen Suchmuster und zeigt alle dem Muster entsprechenden Zeilen auf stdout an (Filter). erlaubt Metazeichen (wie ed). Damit die Metazeichen nicht von der Shell interpretiert werden, wird der Expression in Apostrophs eingeschlossen.
^ der Suchstring beginnt am Anfang der Zeile
. ein beliebiges Zeichen
* eine beliebige Anzahl des unmittelbar davor stehenden Zeichens
[ ] Zeichenklasse (Aufzählung) } ist nur in Verbindung mit [ ein Metazeichen [1357] [a-zA-Z] Alle Buchstaben (keine Umlaute enthalten) [a-zA-Z0-9-] Buchstaben, Ziffern und Bindestrich (muß am Ende stehen)
[^ ] Negation der Klasse, jedes Zeichen aus den in der Klasse angegebenen Zeichen
Optionen: -bcilnsv
-b mit Blocknummer ausgeben
-c nur übereinstimmende Zeilen zählen (count)
-i Groß- und Kleinschreibung ignorieren grep -ic '[Gg]raf' maerchen
-l gibt den Dateinamen in dem ein Suchmuster gefunden wurde nur einmal (als separate Zeile) aus
-n Jede Ausgabezeile mit der Zeilennummer ausgeben, in der das Suchmuster in der Datei gefunden wurde.
-s Fehlermeldung unterdrücken, wenn Dateien nicht lesbar sind (Zeilen werden durch BUFSIZE in der Grösse begrenzt)
-v alle Zeilen ohne übereinstimmung (verbose)
Beispiele : ls -l | grep '^d' |__Es werden von grep nur die Zeilen selektiert, die d als ersten Buchstaben am Zeilenanfang haben. D.h es werden nur die Directorynamen angezeigt. ls -l | grep '^d' | wc -l Es wird die Anzahl der Directories ermittelt. ls -l | grep '^...x' Es werden nur Dateien angezeigt, für die beim Owner execute-Permission gegeben ist. grep '^[^:]*:[^:]*:0*[12][0-9][0-9]:' /etc/passwd Es werden alle Zeilen der Passwortdatei angezeigt, bei denen die UID im Bereich 100 -299 liegt. [^:] Negation der Klasse, steht ür alle Zeichen ausser : [^:]*: Erst alle Zeichen ausser Doppelpunkt in beliebiger Menge gefolgt von Doppelpunkt 0* Beliebige Anzahl führende Nullen (auch keine) Achtung: In der Shell erfolgt die Negation durch [!:] grep '^[^:]*::' /etc/passwd Benutzer ohne Passwort finden [^:]*: Jedes Zeichen mit Ausnahme : und davon beliebig viele : gefolgt von weiterem :, d.h. das Passwortfeld ist leer. In einer Textdatei befinden sich Zeilen mit Steuerzeichen, die mit einem Punkt eingeleitet werden (z.B. Steuerzeichen für nroff). .PA .UK grep '^\.UK' < textfile |____________ Suchmuster beginnt am Zeilenanfang |____________ entwertet den nachfolgenden Punkt als Metazeichen cat textfile | grep -v '^\.' es werden alle Zeilen ausgegeben, die das Suchmuster nicht enthalten.