Dateien durchsuchen mit grep
Das Programm grep ist bestens dafür geeignet, um Dateien zu durchsuchen. Es gilt die folgende Syntax:
grep [OPTION]... MUSTER [DATEI]...
Standardmäßig wird eine Datei durchsucht und die Zeile mit dem gefundenen Muster ausgegeben. Hier eine Auswahl der verfügbaren Optionen:
- -a X oder --after-context=X
- Es werden X Zeilen nach der Zeile mit dem vorgekommenen Muster ausgegeben.
- -B x oder --before-context=X
- Es werden X Zeilen vor der Zeile mit dem gesuchten Text ausgegeben.
- -C X oder --context=X
- Es werden X Zeilen vor und nach der zeile mit dem gesuchten Muster ausgegeben.
- -c oder --count
- Es werden die Zeilen gezählt, die das gesuchte Muster enthalten. Wird die Option -v zusätzlich angegeben, werden die Zeilen gezählt, in denen das gesuchte Muster nicht vorkommt.
- -E oder --extended-regexp
- Das Suchmuster wird als erweiterter regulärer Ausdruck interpretiert.
- -F oder --fixed-strings
- Das Muster wird als feststehende Zeichenkette angesehen, die durch einen Zeilenwechsel von anderen Zeilen getrennt sein muss.
- -F Datei oder --file=Datei
- Die Suchmuster werden zeilenweise aus der angegebenen Datei gelesen.
- -i oder --ignore-case
- Die Suche wird ohne Rücksicht auf Groß-/leinschreibung vorgenommen.
- -L oder --files-without-match
- Es wird eine Liste der Dateien ausgegeben, die das gesuchte Muster nicht enthalten.
- -l oder --files-with-matches
- Es wird eine Liste der Dateien ausgegeben, die das gesuchte Muster enthalten.
- -n oder --line-number
- Gibt vor der Zeile einer Datei deren Zeilennummer aus.
- -r oder --recursive
- Alle Dateien eines Verzeichnisses werden durchsucht.
- -v oder --invert-match
- Das Suchmuster wird invertiert. Es werden also alle Zeilen ausgegeben, die nicht auf das Suchmuster passen.
Im folgenden Beispiel wird geprüft, in welchen Zeilen der Datei passwd der String home vorkommt:
simon@etch:/etc$ grep home passwd
simon:x:1000:1000:Simon Bienlein,,,:/home/simon:/bin/bash
ftp:x:105:65534::/home/ftp:/bin/false
Nun soll der Text “Lorem ipsum” unabhängig von dessen Groß- und Kleinschreibung gesucht und eine Liste der gefundenen Dateien ausgegeben werden:
simon@etch:~$ grep -li "lorem ipsum" *
blindtext.txt
cookie.php
Datum der Veröffentlichung: Freitag, 28.12.2007