GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gängige Beispiele für den Grep-Befehl in Linux [mit kostenlosem Cheatsheet-Download]

Grep ist ein leistungsstarker UNIX-Befehl, mit dem Sie den Dateiinhalt nach einer Vielzahl von Parametern durchsuchen können. Es ist besonders hilfreich, wenn Sie Fehler beheben oder Fehler beheben.

Der Befehl grep hat eine Vielzahl von Optionen und Anwendungsfällen. Sie werden wahrscheinlich nie alle brauchen oder verwenden. Am Ende werden Sie jedoch die meiste Zeit eine Handvoll grep-Befehle verwenden.

Dieser Artikel listet die gängigsten grep-Befehle mit kurzen Beispielen auf. Das Linux-Handbuch hat bereits einen ausführlichen Artikel über grep, daher werde ich hier nicht in die Tiefe gehen. Ich werde hier nur die allgemeinen Optionen und ihre Erklärung erläutern.

Es ist gut, wenn Sie den grep-Befehl bereits kennen, aber immer wieder vergessen, welche Option was tut.

Option Befehlsbeispiel Beschreibung
ich grep -i Musterdatei Suche ohne Berücksichtigung der Groß-/Kleinschreibung
A grep -A n Musterdatei Nach dem Spiel n Zeilen anzeigen
B grep -B n Musterdatei Zeige n Zeilen vor dem Spiel
C grep -C n Musterdatei Zeige n Zeilen vor und nach dem Spiel
v grep -v Musterdatei Zeige Zeilen, die nicht übereinstimmen
c grep -c Musterdatei Anzahl übereinstimmender Zeilen zählen
l grep -l Musterdatei Nur die Dateinamen anzeigen
w grep -w Musterdatei Passen Sie das genaue Wort an
e grep -e Regex-Datei Passen Sie das Regex-Muster an
ein grep -a Musterdatei In Binärdateien suchen
r grep -r Musterverzeichnis Suche rekursiv im Verzeichnis

Ich habe einen PDF-Spickzettel beigefügt, den Sie herunterladen, ausdrucken und auf Ihrem Schreibtisch aufbewahren können.

Laden Sie den Grep-Spickzettel herunter

Schnelle Beispiele für den Grep-Befehl

Sie wissen wahrscheinlich bereits, dass Sie grep wie folgt verwenden müssen, um nach einem bestimmten Text oder Muster in einer Datei zu suchen:

grep search_pattern filename

Sehen wir uns einige häufige Anwendungsfälle des Befehls grep an.

Standardmäßig wird bei der Suche mit grep zwischen Groß- und Kleinschreibung unterschieden. Mit dem -i können Sie die Groß-/Kleinschreibung ignorieren Möglichkeit:

grep -i search_pattern filename

Auf diese Weise gibt grep Zeilen zurück, die mit beiden Holmes übereinstimmen und holmes .

Zeigt Zeilen vor und nach den passenden Zeilen

Standardmäßig sehen Sie nur die übereinstimmenden Zeilen. Aber wenn Sie etwas beheben, ist es hilfreich, ein paar Zeilen vor und/oder nach den übereinstimmenden Zeilen zu sehen.

Sie können das -A verwenden Zeilen nach den passenden anzuzeigen. Denken Sie daran, A steht für After.

Der folgende Befehl zeigt die übereinstimmenden Zeilen zusammen mit den 5 Zeilen nach der Übereinstimmung.

grep -A 5 search_pattern filename

Ebenso können Sie das -B verwenden Option, Zeilen vor den passenden anzuzeigen. Denken Sie daran, B steht für Before.

Der folgende Befehl zeigt 5 Zeilen vor den übereinstimmenden zusammen mit der/den übereinstimmenden Zeile(n).

grep -B 5 search_pattern filename

Mein Favorit ist die Option -C weil es Linien anzeigt, die vor und nach den passenden liegen. Denken Sie daran, dass C hier für Kreis steht.

Der folgende Befehl zeigt 5 Zeilen vor der übereinstimmenden Zeile, die übereinstimmende Zeile und 5 Zeilen nach der übereinstimmenden Zeile.

grep -C 5 search_pattern filename

Zeige die Zeilen, die nicht übereinstimmen

Sie können grep verwenden, um alle Zeilen anzuzeigen, die NICHT mit dem angegebenen Muster übereinstimmen. Dieses 'invert matching' wird mit dem -v verwendet Möglichkeit:

grep -v search_pattern filename

Sie können -i kombinieren und -v Optionen.

Anzahl der übereinstimmenden Zeilen zählen

Anstatt die übereinstimmenden Zeilen anzuzeigen, können Sie einfach mit -c abrufen, wie viele Zeilen mit dem Muster übereinstimmen Möglichkeit. Dies ist Kleinbuchstabe c.

grep -c search_pattern filename

Sie können das -c kombinieren und -v Option, um die Anzahl der Zeilen zu erhalten, die nicht mit dem angegebenen Muster übereinstimmen. Sie können natürlich die case-insensitive Option -i verwenden .

Zeige die Zeilennummern der übereinstimmenden Zeilen

Um die Zeilennummern der übereinstimmenden Zeilen anzuzeigen, können Sie das -n verwenden Option.

grep -n search_pattern filename

Sie können dasselbe mit der invertierten Suche tun.

Suche in mehreren Dateien

Sie können mehr als eine Datei angeben, die grep durchsuchen soll.

grep search_pattern file1 file2

Das könnte funktionieren, aber ein praktischeres Beispiel ist die Suche nach einem bestimmten Dateityp. Wenn Sie beispielsweise nur in Shell-Skripten (Dateien mit der Endung .sh) nach einer Zeichenfolge suchen möchten, können Sie Folgendes verwenden:

grep search_pattern *.sh

Suche rekursiv nach allen Dateien in einem Verzeichnis

Sie können eine rekursive Suche mit der grep-Option -r durchführen . Es wird in allen Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen nach dem angegebenen Muster suchen.

grep -r search_pattern directory_path

Nur die Dateinamen anzeigen

Standardmäßig zeigt grep die passenden Zeilen an. Wenn Sie die Suche in mehreren Dateien durchgeführt haben und nur sehen möchten, welche Dateien die Zeichenfolge enthalten, können Sie das -l verwenden Option.

grep -l search_pattern files_pattern

Angenommen, Sie möchten sehen, welche Markdown-Dateien das Wort „Handbuch“ enthalten, können Sie Folgendes verwenden:

grep -l handbook *.md

Suche nur nach ganzen Wörtern

Standardmäßig zeigt grep alle Zeilen an, die die angegebene Zeichenfolge enthalten. Das wollen Sie vielleicht nicht immer. Wenn Sie nach dem Wort „done“ suchen, werden auch Zeilen angezeigt, die die Wörter „doner“ oder „abandoned“ enthalten.

Um grep nur nach ganzen Wörtern suchen zu lassen, können Sie die Option -w verwenden :

grep -w search_string file

Auf diese Weise werden bei der Suche nach dem Wort „done“ nur Zeilen angezeigt, die „done“ enthalten, nicht „doner“ oder „abandoned“.

Suche nach Regex-Mustern

Sie können Ihre Suche optimieren, indem Sie Regex-Muster verwenden. Es gibt eine spezielle Option -e das ermöglicht die Verwendung von Regex-Mustern und der Option -E die die Verwendung erweiterter Regex-Muster ermöglicht.

grep -e regex_pattern file

Suche nach diesem oder jenem Muster

Sie können in derselben grep-Suche nach mehreren Mustern suchen. Wenn Sie die Zeilen sehen möchten, die das eine oder andere Muster enthalten, können Sie den OR-Operator | verwenden . Sie müssen dieses Sonderzeichen jedoch folgendermaßen maskieren.

grep 'pattern1\|pattern' filename

Sie können mehrere Muster mit dem OR-Operator verwenden.

Es gibt keine spezielle Option für den UND-Operator. Sie können dafür grep mehrmals mit Pipe-Umleitung verwenden.

Binärdateien durchsuchen

Grep ignoriert standardmäßig Binärdateien. Sie können es mit -a in Binärdateien suchen lassen, als wäre es eine Textdatei Option.

grep -a pattern binary_file

Spickzettel für den Grep-Befehl herunterladen

Sie können diese Seite mit einem Lesezeichen versehen, um schnell auf die grep-Befehlsoptionen und Anwendungsfälle zu verweisen.

Sie können dieses grep-Cheatsheet auch im PDF-Format herunterladen, ausdrucken und auf Ihrem Schreibtisch aufbewahren, um einen schnellen Überblick zu haben, ohne Zeit zu verlieren.

Laden Sie Grep Command Cheatsheet KOSTENLOS herunter. Sofortiger Download gängiger Grep-Befehle mit Beschreibung im PDF-Format

Lassen Sie mich wissen, wenn Sie einen anderen allgemeinen grep-Anwendungsfall haben, den Sie auf dieser Seite sehen möchten.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. Der Linux-Sed-Befehl:Verwendung und Beispiele

  3. Wesentliche Beispiele für den Dateibefehl in Linux

  4. Freier Befehl in Linux mit Beispielen erklärt

  5. 5 praktische Beispiele des dd-Befehls unter Linux

10 Nützliche Beispiele für den Sort-Befehl in Linux

Wesentliche Beispiele des ps-Befehls in Linux

Grep-Befehl in Linux (mit Beispielen)

Verwendung des grep-Befehls unter Linux

8 Häufige Verwendungen des Linux-Touch-Befehls

kostenlose Befehlsbeispiele in Linux