Suchen mit grep

Der grep Befehl wird verwendet, um Dateien durch Scannen derer Inhalte zu finden. Sie können eine einzelne Datei oder eine ganze Verzeichnis-Struktur von Dateien suchen. Standardmäßig zeigt grep die passende Textzeile. Die grundlegende Syntax ist:

grep [OPTIONEN] Muster [DATEI]

Wenn wir zum Beispiel die Datei bobs_file.txt nach dem Wort bob durchsuchen möchten, verwenden wir den folgenden Befehl:

linux grep befehl

Hier ein weiteres Beispiel. Wenn wir das Verzeichnis /home/bob nach dem Wort bob durchsuchen möchten, verwenden wir den folgenden Befehl:

linux grep dateien durchsuchen

Im Bild oben sehen wir, dass das Wort bob in den Dateien innerhalb des /home/bob Verzeichnisses zweimal vorkommt. Die -r Option bedeutet, dass die Unterverzeichnisse auch durchsucht werden. Beachten Sie, dass der Befehl grep den Dateinamen und die Textzeile mit dem Schlüsselwort bob angeführt hat.

grep wird am häufigsten in Verbindung mit Befehlen verwendet, die eine Menge von Ausgaben erzeugen. Angenommen wir würden gerne die Mitglieder der Gruppe cdrom sehen. Wir können dies tun, indem wir den Befehl cat /etc/group eingeben, der alle Gruppen und ihre Mitglieder in dem System anzeigt:

cat_etc_group_befehl

Wir können dann über die Ausgang blättern und die Gruppe cdrom und ihrer Mitglieder finden. Oder wir könnten die Ausgabe von cat /etc/group nach grep schicken und nur die Textzeilen zeigen, die das Wort cdrom enthalten:

linux pipe grep

Hier ist ein weiteres Beispiel für die Nützlichkeit des Befehls grep. Wir können den ps -A Befehl  benutzen, um alle Prozesse auf dem System anzuzeigen: 

linux ps -A

Der Befehl ps -A produziert eine Menge Ausgaben. Wenn wir den genauen Namen des Prozesses kennen, können wir die Ausgabe nach grep schicken:

linux grep top

Im Bild oben sehen wir, dass zwei Instanzen des Programms top laufen.

 

Bei grep standardmäßig wird Gross- und Kleinschreibung beachtet. Das kann man mit der -i Option verändern.
Geek University 2022