zurück

grep [optionen] suchmuster datei

grep durchsucht die angegebene Textdatei nach einem Suchmuster.

Je nach Einstellung der Optionen zeigt das Kommando anschließend die gefundenen Textpassagen an oder gibt nur an, in wie vielen Zeilen das  Suchmuster gefunden wurde.

grep kann mit find kombiniert werden, um alle Dateien, die besteimmten Bedingungen entsprechen, nach Texten zu durchsuchen.

Optionen:
-n (var.)
zeigt nicht nur die Zeile mit dem gefundenen Text, sondern zusätzlich die n unmittelbar vorangehenden und nachfolgenden Zeilen.
-c
gibt nur die Anzahl der Zeilen an, in denen das Suchmuster gefunden wurden, nicht aber die Zeilen selbst.
-f Dateiname
liest die hier aufgezählten Optionen der angegebenen Datei (für komplexe oder häufig benötigte Suchmuster.
-i
unterscheidet nicht zwischen Groß- und Kleinschreibung.
-l
zeigt nur die Dateinamen an, in den das Suchmuster gefunden wurde.
-n
gibt bei der Ausgabe der Zeile deren Zeilennummer an.
-q
liefert lediglich einen Rückgabewert (0 = gefunden, 1 = nicht gefunden). Sinvoll, wenn grep von anderen Programmen aufgerufen wird (z.B. find).
-w
findet nur ganze Worte. (Das Suchmuster 'die' wird im Wort 'dieser' nicht mehr erkannt.

Aufbau des Suchmusters:
Das Suchmuster wird prinzipiell aus zwei Komponenten zusammengesetzt: Der Angabe, nach welchen Zeichen gesucht wird, und der Angabe, wie oft diese Zeichen auftreten dürfen.
abc
die Zeichenkette 'abc'
[abc]
eines der Zeichen a,b oder c
[^abc]
keines der Zeichen a,b oder c (aber jedes andere)
[a-z]
eines der Zeichen zwischen a und z
.
ein beliebiges Zeichen
?
das vorangegangene Zeichen darf null oder einmal auftreten
*
das Zeichen darf beliebig oft (auch null) auftreten
+
das Zeichen darf beliebig oft (nicht null) auftreten
{n}
das Zeichen muß genau n mal auftreten
{,n}
das Zeichen darf höchstens n mal auftreten
{n,}
das Zeichen muß mindestens n mal auftreten
{n,m}
das Zeichen muß mindestens n mal, und darf höchstens m mal auftreten

Wenn Sonderzeichen wie ?*+[]()! im Suchmuster verwendet werden sollen, muß \ vorangestellt werden. Für manche Zeichengruppen sind bereits Muster vordefiniert, etwa [:digit:] für Ziffern (siehe auch man grep).
Bsp:
grep emacs *.tex
durchsucht alle *.tex-Dateien des aktuellen Verzeichnisses nach der Zeichenkette 'emacs'. Zeigt eine Liste aller gefundenen Zeilen (denen jeweils der Dateiname vorangestellt ist) am Bildschirm an.
grep -c arctan\(.*\) *.c
ermittelt, wie oft die Funktion arctan in den angegebenen *.c-Dateien verwendet wird.

zurück