In diesem Artikel werden wir die Verwendung des GREP -Dienstprogramms mit verschiedenen Beispielen erläutern. Wir werden Debian 10 verwenden, um die in diesem Artikel genannten Befehle und Methoden zu erklären.
Installieren von Grep
Grep wird in den meisten Linux -Verteilungen installiert. Für den Fall, dass es in Ihrem System fehlt, können Sie es mit der folgenden Methode in Terminal installieren:
$ sudo apt-Get Installieren Sie Grep
Mit Grep
Hier ist die grundlegende Syntax des Grep -Befehls. Es beginnt mit Grep, gefolgt von einigen Optionen und Suchkriterien und endet dann mit dem Dateinamen.
$ grep [Optionen] Muster [Datei…]
Suche nach Dateien
Um nach einem Dateinamen in einem Verzeichnis zu suchen, das eine bestimmte Zeichenfolge enthält, können Sie Grep auf folgende Weise verwenden:
$ ls -l | Grep -i “String
Zum Beispiel, um nach einem Dateinamen zu suchen, der eine Zeichenfolge enthält “prüfen„Der Befehl wäre:
$ ls -l | Grep -ich Test
Dieser Befehl listet alle Dateien auf, die die Zeichenfolge enthaltenprüfen”.
Suchen Sie nach einer Zeichenfolge in einer Datei
Um nach einer Zeichenfolge in einer bestimmten Datei zu suchen, können Sie die folgende Befehlssyntax verwenden:
$ grep "String" Dateiname
Zum Beispiel, um nach einer Zeichenfolge zu suchen “prüfen”In einer Datei mit dem Namen TestFile1, Wir haben den folgenden Befehl verwendet:
$ grep „Mitarbeiter“ TestFile1
Die obige Ausgabe hat den Satz von der zurückgegeben TestFile1 das enthält die Zeichenfolge “Mitarbeiter”.
Suchen Sie nach einer Zeichenfolge in mehreren Dateien
Um nach einer Zeichenfolge in mehreren Dateien zu suchen, können Sie die folgende Befehlssyntax verwenden:
$ grep "String" Dateiname1 Dateiname2
Zum Beispiel haben wir den folgenden Befehl verwendet, um beispielsweise in unseren beiden Dateien TestFile1 und TestFile2 nach einem String „Mitarbeiter“ zu suchen:
$ grep „Mitarbeiter“ TestFile1 TestFile2
In dem obigen Befehl werden alle Zeilen aufgeführt, die den Zeichenfolge „Mitarbeiter“ aus beiden Dateien testfile1 und testFile2 enthalten.
Sie können auch einen Wildcard -Charakter verwenden, wenn alle Dateinamen mit demselben Text beginnen.
$ grep "String" Dateiname*
Wenn wir das obige Beispiel nehmen, in dem unsere Dateinamen waren TestFile1 und TestFile2 , Der Befehl wäre:
$ grep "Mitarbeiter" Testfile*
Suchen Sie nach einer Zeichenfolge in einer Datei, indem Sie den Fall der Zeichenfolge ignorieren
Meistens sind Sie begegnet, dass Sie bei der Suche nach etwas mit Grep, aber keine Ausgabe erhalten. Dies geschieht aufgrund eines Fallfehlübereinstimmungen bei der Suche nach einer Zeichenfolge. Wie in unserem Beispiel, wenn wir fälschlicherweise verwenden “Mitarbeiter" anstatt "Mitarbeiter”, Es wird Nil zurückgeben, da unsere Datei die Zeichenfolge enthält“Mitarbeiter”In Untergeschosse unteren Fall.
Sie können Grep angeben, den Fall der Suchzeichenfolge zu ignorieren, indem Sie -i -Flag nach dem Grep wie folgt verwenden:
$ grep -i "String" Dateiname
Durch die Verwendung des Flags -i führt der Befehl den Fall unempfindlich und gibt alle Zeilen zurück, die die Zeichenfolge enthaltenMitarbeiter”Darin ohne Berücksichtigung der Buchstaben in Großbuchstaben oder Kleinbuchstaben.
Suche mit dem regulären Ausdruck suchen
Bei ordnungsgemäßer Verwendung ist der reguläre Ausdruck eine sehr effektive Merkmale in Grep. Mit dem GREP -Befehl können Sie einen regelmäßigen Ausdruck mit einem Start und einem endenden Keyword definieren. Auf diese Weise müssen Sie die gesamte Linie nicht mit dem Grep -Befehl eingeben. Die folgende Syntax kann für diesen Zweck verwendet werden.
$ grep “Starten des Keywords.*EndingKeyword ”Dateiname
Zum Beispiel haben wir den folgenden Befehl verwendet, um nach einer Zeile in einer Datei mit dem Namen testFile1 zu suchen, die mit der Zeichenfolge „This“ endet, die Zeichenfolge „Daten“ verwendet:
$ grep “das.*Daten ”testfile1
Es wird die ganze Linie von der ausdrucken TestFile1 Enthalten des Ausdrucks (Startschlüsselwort "This" und das Ending -Schlüsselwort "Daten")).
Drucken Sie eine bestimmte Anzahl von Zeilen nach/vor der Suchzeichenfolge
Sie können auch die spezifische Anzahl von Zeilen in einer Datei vor/nach einer String -Übereinstimmung zusammen mit der übereinstimmenden Zeichenfolge selbst anzeigen. Die folgende Syntax kann für diesen Zweck verwendet werden:
$ grep -aDateiname "String"
Es wird die Anzahl der Zeilen angezeigt, nachdem die Zeichenfolge in der angegebenen Datei einschließlich der übereinstimmenden Zeichenfolge abgeglichen wurde.
Dies ist beispielsweise unsere Beispieldatei mit dem Namen TestFile2.
Der folgende Befehl gibt die übereinstimmende Zeile aus, die die Zeichenfolge enthältMitarbeiter”, Zusammen mit den 2 Zeilen danach.
$ grep -a 2 -i "Mitarbeiter" TestFile2
Um die Anzahl der Zeilen vor der angepassten Zeichenfolge in einer bestimmten Datei anzuzeigen, verwenden Sie in ähnlicher Weise die folgende Syntax:
$ grep -bDateiname "String"
Verwenden Sie die folgende Syntax, um die Anzahl der Zeilen um die Zeichenfolge in einer bestimmten Datei anzuzeigen:
$ grep -cDateiname "String"
Hervorhebung der Suche
Standardmäßig zeigte standardmäßig GREP -Zeilen, aber nicht, welcher Teil der Zeile übereinstimmt. Wenn Sie eine Color -Option mit Grep verwenden, wird angezeigt, wo die Bearbeitungszeichenfolgen in Ihrer Datei angezeigt werden. Grep standardmäßig verwenden Sie die rote Farbe zum Hervorheben.
Die folgende Syntax kann für diesen Zweck verwendet werden:
$ grep "String" Dateiname --farbe
Zählen der Anzahl der Übereinstimmungen
Wenn Sie zählen möchten, wie oft ein bestimmtes Wort in einer bestimmten Datei angezeigt wird, können Sie den Grep mit -C -Option verwenden. Es gibt nur die Anzahl der Übereinstimmungen und nicht die Übereinstimmungen selbst zurück. Die folgende Syntax kann für diesen Zweck verwendet werden:
$ grep -c "String" Dateiname
Dies ist unsere Beispieldatei sieht aus:
Das Folgende ist ein Beispiel für einen Befehl, der die Häufigkeit des Wortes zurückgegeben hat Datei erschien in einer Datei mit dem Namen TestFile3.
Umgekehrte Suche
Manchmal möchten Sie eine umgekehrte Suche durchführen, bei der alle Zeilen angezeigt werden, außer dass die Eingabe übereinstimmt. Verwenden Sie dazu einfach die -v -Flagge, gefolgt von Grep:
$ grep -v "String" Dateiname
Zum Beispiel, um alle Zeilen in einer Datei anzuzeigen TestFile3 Das enthält nicht das Wort „Konto“, wir haben den folgenden Befehl verwendet:
$ grep -v "Konto" TestFile3
Verwenden Sie Grep mit anderen Befehlen
Grep kann auch verwendet werden, um das erforderliche Ergebnis aus verschiedenen Befehlen herauszufiltern. Zum Beispiel von der “APT -INSTALLED LISTE ” Befehlsausgabe, Sie möchten nur die paketen, die automatisch installiert wurden. Sie können das Ergebnis mit Grep wie folgt herausfiltern:
$ apt -installierte Liste | Grep Automatisch
In ähnlicher Weise liefert LSCPU detaillierte Informationen zur CPU. Wenn Sie nur an den Informationen zur CPU -Architektur interessiert sind, können Sie sie mit dem folgenden Befehl herausfiltern:
$ lscpu | Grep Architektur
In diesem Artikel haben wir einige Beispiele beschrieben, die Ihnen helfen, die GREP -Befehle und deren Verwendung unter verschiedenen Bedingungen zu verstehen. Wenn Sie einen starken Grep -Befehl GREP haben, können Sie viel Zeit sparen, wenn Sie große Konfiguration oder Protokolldateien und nützliche Informationen über sie durchsuchen müssen.