Grep-Anleitung · 3 min read · Sep 18, 2025

Wie man eine Mustersuche in Dateien mit Grep durchführt

In unserem ersten Artikel über den grep-Befehl haben wir einige Funktionen behandelt, die das Tool bietet, einschließlich wie man nur nach Wörtern sucht, nach zwei Wörtern sucht, die Zeilen zählt, die das übereinstimmende Wort enthalten, und mehr. Neben diesen bietet das Tool einige weitere leicht verständliche und nützliche Funktionen. In diesem Artikel werden wir einige davon besprechen.

Bitte beachten Sie, dass alle in diesem Tutorial genannten Beispiele auf Ubuntu 14.04LTS getestet wurden. Außerdem verwenden wir die folgende Datei (test_file1.txt) für alle unsere grep-bezogenen Beispiele in diesem Tutorial:

grep Testdatei

Groß-/Kleinschreibung ignorierende Suche mit Grep

Standardmäßig ist grep groß-/kleinschreibungssensitiv, was bedeutet, dass es beispielsweise ‘ABC’ und ‘abc’ getrennt behandelt. Wenn Sie jedoch möchten, dass Ihre Suche groß-/kleinschreibungunabhängig ist, können Sie die -i Befehlszeilenoption verwenden.

grep -i [zu suchender-string] [dateiname]

Zum Beispiel:

grep -i "linux" test_file1.txt

Hinweis: Nicht nur das Muster (zum Beispiel ‘linux’ im obigen Beispiel), die grep-Man-Seite besagt, dass die -i-Option auch sicherstellt, dass die Groß-/Kleinschreibung für Eingabedateien ebenfalls ignoriert wird. Hier ist der Auszug:

 -i, --ignore-case  
 Ignoriere Groß-/Kleinschreibungsunterschiede sowohl im MUSTER als auch in den Eingabedateien. (-i wird von POSIX spezifiziert.)

Wir konnten jedoch das Verhalten in Bezug auf Eingabedateien nicht reproduzieren.

Bestimmte nicht übereinstimmende Zeilen mit Zeilen, die den übereinstimmenden String in Grep enthalten, anzeigen

Mit dem Tool können Sie auch eine bestimmte Anzahl von Zeilen nach, vor oder um die Zeile anzeigen, die den übereinstimmenden String enthält.

Verwenden Sie die -A Befehlszeilenoption, um ‘N’ Zeilen nach der übereinstimmenden Zeile auszugeben.

$ grep -A N [zu suchender-string] [dateiname]

Zum Beispiel:

$ grep -A 2 "linux" test_file1.txt

Hier ist die Ausgabe des obigen Befehls

Ähnlich wird die -B Befehlszeilenoption verwendet, um Zeilen vor der übereinstimmenden Zeile anzuzeigen.

$ grep -B N [zu suchender-string] [dateiname]

Zum Beispiel:

$ grep -B 2 "linux" test_file1.txt

Hier ist die Ausgabe:

grep Ausgabe

Schließlich, um Zeilen um die übereinstimmende Zeile herum auszugeben, verwenden Sie die -C Befehlszeilenoption.

$ grep -C N [zu suchender-string] [dateiname]

Zum Beispiel:

$ grep -C 2 "linux" test_file1.txt

Hier ist die erfasste Ausgabe:

Nur übereinstimmende Strings in Grep ausgeben

Sie dürfen auch nur den übereinstimmenden String auf der Standardausgabe ausgeben (anstatt der vollständigen Zeilen, die standardmäßig angezeigt werden). Diese Funktion kann mit der -o Befehlszeilenoption aufgerufen werden.

$ grep -o [zu suchender-string] [dateiname]

Zum Beispiel, wenn die Anforderung darin besteht, einen String “linux” in einer Datei zu suchen (aber vollständige Zeilen sollten nicht ausgegeben werden), dann verwenden wir den folgenden Befehl.

$ grep -o "linux" [dateiname]

Wir können auch Platzhalterzeichen wie und . verwenden, um mehr als einen String zu grep. Zum Beispiel, wenn wir eine Gruppe von Wörtern suchen möchten, die mit “how” beginnen und mit “linux” enden, dann können wir den folgenden Befehl verwenden.

$ grep -o "how.*linux" [dateiname]

Position in Grep anzeigen

Der grep-Befehl ermöglicht es Ihnen auch, den Byte-Offset der Zeile anzuzeigen, in der der übereinstimmende String vorkommt. Diese Funktion kann mit der -b Befehlszeilenoption aufgerufen werden. Für eine bessere Nutzung dieser Option können Sie sie mit der -o Befehlszeilenoption verwenden, die die genaue Position des übereinstimmenden Strings anzeigt.

$ grep -o -b [zu suchender-string] [dateiname]

Zum Beispiel:

$ grep -o -b "for" test_file1.txt

Hier ist die Ausgabe:

Fazit

Sie benötigen möglicherweise nicht jeden Tag all diese Optionen, aber Sie sollten zumindest darüber Bescheid wissen, da Sie nie wissen, wann sie nützlich sein könnten. Grep wird noch leistungsfähiger, wenn es mit regulären Ausdrücken verwendet wird, aber dieses Thema lassen wir für einen anderen Tag.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.