Grep
Aus LinWiki.de
Dieser Befehl dient dem Durchsuchen von Dateien oder Zeichenströmen nach Suchmustern. Die Aufrufsyntax lautet
grep <SUCHMUSTER> <DATEINAME>
Generell funktioniert grep so, daß es alle Zeilen ausgibt, in denen das Suchmuster vorkommt. Alle Zeilen, die das Suchmuster nicht enthalten, werden weggefiltert.
Das Suchmuster kann im einfachsten Fall eine Zeichenkette sein. Die eigentliche Stärke des grep-Befehls ist aber, daß das Suchmuster ein sogenannter Regulärer Ausdruck (daher auch grep: Get Regular ExPression) sein kann. Damit kann eine Suche definiert werden, die beispielsweise nach allen Wörtern sucht, die auf "ing" enden, aber nicht mit "D" oder "B" anfangen.
Normalerweise wird Groß- und Kleinschreibung von grep unterschieden, möchte man das verhindern, kann man grep mit der Option "-i" aufrufen.
Der grep Befehl kann auch mithilfe einer sog. Pipe | kombiniert werden, um die Ausgaben eines anderen Kommandos zu durchsuchen. In diesem Fall wird der Dateiname weggelassen und hinter dem grep-Befehl steht nur das Suchmuster. Folgende Befehlskombination
man mount | grep mount
gibt alle Zeilen der Manpage von mount aus in der das Wort mount vorkommt. Durch die Pipe wird die sonst auf der Konsole erscheinende Manpage von mount in diesen Suchalgorithmus "umgeleitet" und dieser wiederum sucht dann das dem grep Befehl folgende Wort aus der Datei heraus. Diese Kombination ist sehr nützlich um in einer Datei oder in einem Verzeichnis nach sog. Schlagworten zu suchen ohne sich durch den gesamten Text oder durch das gesamte Verzeichnis arbeiten zu müssen.
Praktisches:
Praktischer Einsatz von grep ist z.B. sich unübersichtliche Config-Dateien ohne Kommentare anzeigen zu lassen.
cat /etc/beispiel.conf |grep -e"^[^#]"
Um alle Dateien anzuzeigen, die das Wort "Suchtext" enthalten, kann grep auch mit find kombiniert werden.
find . -exec grep -l -e Suchtext {} \;

