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

So verwenden Sie den grep-Befehl unter Debian 10

Grep steht für Global Regular Expression Print. Es ist ein nützlicher Befehl und wird häufig von Linux-Systemingenieuren verwendet, wenn eine Zeichenfolge oder Muster mit regulären Dateien und im System gesucht werden.

In diesem Artikel werde ich die Verwendung des grep-Befehls anhand einer großen Anzahl von Beispielen demonstrieren. Ich habe alle Befehle und Beispiele auf einem Debian 10-Rechner getestet.

Voraussetzung

Sie benötigen einen einzelnen Debian 10-Rechner mit Root-Rechten.

Grep-Befehl unter Debian 10 installieren

Standardmäßig ist grep auf den meisten Systemen einschließlich Debian 10 installiert. Wenn es nicht installiert ist, öffnen Sie das Terminal und geben Sie den folgenden Befehl mit Root-Rechten ein.

apt-get install grep

Wenn Sie um eine Bestätigung gebeten werden, drücken Sie y und geben Sie dann auf der Tastatur ein. Warten Sie, bis die Installation abgeschlossen ist.

Da grep bereits auf meinem Rechner installiert war, überprüfen Sie den obigen Screenshot. Lassen Sie uns seine Version überprüfen, indem Sie den folgenden Befehl auf dem Terminal ausführen.

grep --version

Es sollte auch die Version zusammen mit anderen Details zurückgeben, wie unten gezeigt.

Grep-Befehl verwenden

Sobald wir den grep-Befehl auf unserer Maschine verfügbar haben, können wir damit spielen.

Durchsuchen einer bestimmten Datei oder eines bestimmten Verzeichnisses in Ihrem System

Wenn Sie eine bestimmte Datei in Ihrem System suchen oder finden möchten, sollte die Syntax des Befehls wie folgt lauten.

ls -l | grep -i „Datei- oder Verzeichnisname“

Ich möchte in /etc/ nach einem Netzwerkverzeichnis suchen. Der vollständige Befehl sollte wie folgt aussehen.

ls -l /etc/ | grep -i "network"

Die Option „i“ ignoriert die Groß-/Kleinschreibung. Daher sollte es Netzwerk, Netzwerk oder NETZWERK als ähnlich behandeln.

Unten ist die Beispielausgabe.

Angenommen, ich möchte eine „interfaces.d“-Datei suchen, die sich unter /etc/network/ befindet, müssen Sie den folgenden Befehl ausführen.

ls -l /etc/network/ | grep -i "interfaces.d"

Das gesuchte Wort muss in doppelte Anführungszeichen gesetzt werden, wenn es Leerzeichen enthält. Angenommen, wir suchen nach „network daemon“, der obige Befehl sollte wie folgt aussehen.

ls -l /etc/network/ | grep -i „Schnittstellen-Daemon“

Mit grep nach einem vollständigen Wort suchen

Sie haben vielleicht bemerkt, dass grep alle möglichen Ergebnisse zurückgegeben hat, die „Netzwerk“ enthalten, z. networks, networked, networking oder abcnetworking usw. Wenn Sie Ihre Suche auf dieses bestimmte Wort beschränken möchten, müssen Sie die Option -w wie folgt verwenden.

ls -l /etc/ | grep -i -w network

Unten ist die Beispielausgabe.

Suchen eines bestimmten Textes in einer Datei

Wir haben einen Fall, in dem Sie eine große Datei haben und nach einem bestimmten Text suchen möchten. Die Syntax des Befehls sollte wie folgt lauten.

grep – i „textyouwanttosearch“ „filenameandpath“

Angenommen, ich möchte das Wort „Fuchs“ in test.txt suchen, das sich in meinem aktuellen Verzeichnis befindet. Führen Sie den folgenden Befehl auf einem Terminal aus.

grep -i "fox" test.txt

Unten sehen Sie die Beispielausgabe, die nur die Zeilen der Datei zurückgibt, die das Wort „Fuchs“ enthalten.

Durchführen einer rekursiven Suche (Suchen in mehreren Dateien)

Wenn Sie einen Text in einer großen Anzahl von Dateien und Unterverzeichnissen in einem Verzeichnis suchen möchten, können Sie mit der Option -r rekursiv suchen.

grep -i -r "fox"

Unten ist die Beispielausgabe, die zeigt, dass das Wort Fuchs sowohl in den Dateien test.txt als auch in der Datei tree.txt in der angezeigten Zeile vorhanden ist.

Sie können auch einen Verzeichnispfad angeben und es wird alle Dateien in diesem Verzeichnis und seinen Unterverzeichnissen durchsuchen.

Angenommen, ich möchte rekursiv nach dem Text „interfaces“ in /etc/ und seinen Unterverzeichnissen suchen. Der Befehl sollte wie folgt ausgeführt werden.

grep -i -r interfaces /etc/

Unten ist die Beispielausgabe.

Suche nach zwei verschiedenen Wörtern mit einem einzigen grep-Befehl

Sie können zwei verschiedene Wörter mit einem einzigen egrep-Befehl (der eine Variation von grep ist) wie folgt suchen. Angenommen, ich möchte mit der Option -r in mehreren Dateien nach einem vollständigen Wort „Fuchs“ und „Lazy“ suchen. Sie müssen den folgenden Befehl auf dem Terminal ausführen.

egrep -w -r "fox|lazy"

Unten ist die Beispielausgabe.

Zeile nummerieren, die zum Text passt

Eine weitere nützliche Option ist das -n, das die Zeilen nummeriert, die zum Text passen. Das folgende Beispiel veranschaulicht, wie die Option -n verwendet wird.

grep -i -n "fox" test.txt

Unten ist die Beispielausgabe, welche Zeilennummern mit dem Wort „Fuchs“ übereinstimmen.

Umkehrung der Suche

Das ist das Gegenteil von dem, was wir oben getan haben. Wenn Sie einen Text zurückgeben möchten, der das angegebene Wort nicht enthält, können Sie die Option -v verwenden.

Unten ist das Beispiel, das die Verwendung der Option -v demonstriert.

grep -v -i "fox" test.txt

Unten ist die Beispielausgabe.

Alle oben genannten Optionen (-n usw.) können auch mit der Option -v angewendet werden.

Spiele zählen

Wenn Sie nur die Anzahl der Übereinstimmungen mit einem bestimmten Text zählen möchten, können Sie die Option -c verwenden.

Zählen wir das Wort „Fuchs“ in test.txt, das sich im aktuellen Verzeichnis befindet. Führen Sie den folgenden Befehl auf dem Terminal aus.

grep -i -c fox test.txt

Unten ist die Beispielausgabe nach Ausführung des obigen Befehls, die zeigt, dass das Wort Fuchs in der Datei test.txt dreimal übereinstimmt.

Anzeige der Dateinamen, die zum jeweiligen Text passen

Wenn Sie die Dateien herausfinden möchten, die Ihr bestimmtes Wort enthalten, können Sie die Option -l zusammen mit -r  wie folgt verwenden. Angenommen, alle Dateien befinden sich in Ihrem aktuellen Verzeichnis und das spezifische Wort, nach dem Sie suchen oder das Sie finden, ist „Fuchs“.

grep -i -r -l fox

Unten ist die Beispielausgabe, die zeigt, dass das Wort fox in test.txt und in einem Unterverzeichnis und einer Datei asif.txt vorhanden ist

Nur den übereinstimmenden Text anzeigen

Standardmäßig zeigt grep die gesamte Zeile an, die Ihrem gewünschten Text oder Wort entspricht. Wenn Sie möchten, dass grep Ihnen die übereinstimmenden Wörter anzeigt, können Sie die Option -o wie folgt verwenden.

grep -i -o fox test.txt

Unten ist die Beispielausgabe.

Anzeige der Zeilen, die mit einem oder mehreren bestimmten Wörtern beginnen

Wenn Sie alle Zeilen abrufen möchten, die mit einem oder mehreren bestimmten Wörtern beginnen, können Sie den ^-Operator wie folgt verwenden.

Angenommen, Sie möchten alle Zeilen zurückgeben, die mit „unix“ beginnen, und die Datei log.txt befindet sich in Ihrem aktuellen Verzeichnis.

Führen Sie den folgenden Befehl auf dem Terminal aus.

grep -i "^unix" log.txt

Unten ist die Beispielausgabe.

Anzeige der Zeilen, die mit dem/den bestimmten Wort(en) enden

Wenn Sie alle diese Zeilen aus einer Datei zurückgeben möchten, die mit dem/den bestimmten Wort(en) endet, können Sie den $-Operator wie folgt verwenden. Angenommen, das Wort ist „linux“ und die zu durchsuchende Datei ist rev.txt, die sich in Ihrem aktuellen Verzeichnis befindet.

Führen Sie den folgenden Befehl auf dem Terminal aus.

grep -i "linux$" rev.txt

Unten ist die Beispielausgabe.

Schlussfolgerung

Das war also mein Tutorial zur Verwendung des grep-Befehls. Ich habe die meisten grep-Optionen demonstriert, die am häufigsten verwendet werden und die Sie möglicherweise in Ihrer täglichen Arbeit benötigen. Es gibt einige Variationen des grep-Befehls, einschließlich zgrep usw. Sie können sie selbst erkunden.


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

  2. So verwenden Sie den grep-Befehl unter Linux/UNIX

  3. So verwenden Sie den Grep-Befehl, um Text in Dateien zu finden

  4. So verwenden Sie den Su-Befehl unter Linux

  5. So installieren Sie Java 17 in Debian 11

So verwenden Sie den PS-Befehl

So verwenden Sie den TOP-Befehl

So verwenden Sie grep unter Linux

So installieren und verwenden Sie MongoDB unter Debian 11

So installieren Sie Tomcat 9 auf Debian 11

So installieren Sie Apache unter Debian 11