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

Verwendung des grep-Befehls unter Linux

Was ist grep?

Das Dienstprogramm grep, das wir heute in die Hände bekommen werden, ist ein Unix-Tool, das zur selben Familie gehört wie die Dienstprogramme egrep und fgrep. Dies sind alles Unix-Tools, die für die Durchführung der sich wiederholenden Suchaufgabe in Ihren Dateien und Texten entwickelt wurden. Sie können nach Dateien und deren Inhalten suchen, um nützliche Informationen abzurufen, indem Sie bestimmte Suchkriterien mit dem grep-Befehl angeben.

Sie sagen also, GREP steht für Global Regular Expression Print, aber woher stammt dieser Befehl „grep“? grep leitet sich im Grunde von einem speziellen Befehl für den sehr einfachen und ehrwürdigen Unix-Texteditor namens ed ab. So geht der ed-Befehl:

g/re/p

Der Zweck des Befehls ist ziemlich ähnlich dem, was wir mit dem Durchsuchen von grep meinen. Dieser Befehl ruft alle Zeilen in einer Datei ab, die einem bestimmten Textmuster entsprechen.

Lassen Sie uns den grep-Befehl etwas genauer untersuchen. In diesem Artikel erläutern wir die Installation des Dienstprogramms grep und stellen einige Beispiele vor, anhand derer Sie genau lernen können, wie und in welchem ​​Szenario Sie es verwenden können.

Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Ubuntu 18.04 LTS-System ausgeführt.

Grep installieren

Obwohl das Dienstprogramm grep standardmäßig mit den meisten Linux-Systemen geliefert wird, ist hier die Vorgehensweise, wenn Sie es nicht auf Ihrem System installiert haben:

Öffnen Sie Ihr Ubuntu-Terminal entweder über das Dash oder die Tastenkombination Strg+Alt+T. Geben Sie dann als root den folgenden Befehl ein, um grep über apt-get zu installieren:

$ sudo apt-get install grep

Geben Sie y ein, wenn Sie während des Installationsvorgangs mit einer j/n-Option aufgefordert werden. Danach wird das Dienstprogramm grep auf Ihrem System installiert.

Sie können die Installation überprüfen, indem Sie die grep-Version mit dem folgenden Befehl überprüfen:

$ grep --version

Verwendung des grep-Befehls mit Beispielen

Der Befehl grep lässt sich am besten erklären, indem einige Szenarien vorgestellt werden, in denen er verwendet werden kann. Hier sind einige Beispiele:

Nach Dateien suchen

Wenn Sie nach einem Dateinamen suchen möchten, der ein bestimmtes Schlüsselwort enthält, können Sie Ihre Dateiliste mit dem grep-Befehl wie folgt filtern:

Syntax:

$ls -l | grep -i „ Suchwort

Beispiele:

$ ls -l | grep -i sample

Dieser Befehl listet alle Dateien im aktuellen Verzeichnis mit dem Namen der Datei auf, die das Wort „private“ enthält.

Nach einem String in einer Datei suchen

Mit dem grep-Befehl können Sie einen Satz aus einer Datei abrufen, die eine bestimmte Textzeichenfolge enthält.

Syntax:

grep „string“ Dateiname

Beispiel:

$ grep “sample file” sampleFile.txt

Meine Beispieldatei sampleFile.txt enthält den Satz mit der Zeichenfolge „Beispieldatei“, die Sie in der obigen Ausgabe sehen können. Das Schlüsselwort und die Zeichenfolge erscheinen in farbiger Form in den Suchergebnissen.

Nach einer Zeichenfolge in mehr als einer Datei suchen

Falls Sie in allen Dateien des gleichen Typs nach Sätzen suchen möchten, die Ihre Textzeichenfolge enthalten, steht Ihnen der grep-Befehl zur Verfügung.

Syntax 1:

$ grep „string“ DateinameSchlüsselwort*

Syntax 2:

$ grep „string“ *.extension

Beispiel1:

$ grep "sample file” sample*

Dieser Befehl ruft alle Sätze ab, die die Zeichenfolge „Beispieldatei“ aus allen Dateien enthalten, deren Dateiname das Schlüsselwort „Beispiel“ enthält.

Beispiel 2:

$ grep "sample file” *.txt

Dieser Befehl ruft alle Sätze ab, die die Zeichenfolge „Beispieldatei“ aus allen Dateien mit der Erweiterung .txt enthalten.

Suche nach einer Zeichenfolge in einer Datei, ohne die Groß-/Kleinschreibung der Zeichenfolge zu berücksichtigen

In den obigen Beispielen war meine Textzeichenfolge glücklicherweise in der gleichen Schreibweise wie in meinen Beispieltextdateien. Wenn ich den folgenden Befehl eingegeben hätte, wäre mein Suchergebnis null, da der Text in meiner Datei nicht mit einem großgeschriebenen Wort „Beispiel“

beginnt
$ grep "Sample file" *.txt

Lassen Sie uns grep anweisen, die Groß-/Kleinschreibung des Suchstrings zu ignorieren und die Suchergebnisse basierend auf dem String über die Option -i auszugeben.

Syntax:

$ grep -i „String“-Dateiname

Beispiel:

$ grep -i "Sample file" *.txt

Dieser Befehl ruft alle Sätze ab, die die Zeichenfolge „Beispieldatei“ aus allen Dateien mit der Erweiterung .txt enthalten. Dabei wird nicht berücksichtigt, ob der Suchbegriff in Groß- oder Kleinschreibung war.

Suche anhand eines regulären Ausdrucks

Mit dem Befehl grep können Sie einen regulären Ausdruck mit einem Start- und Endschlüsselwort angeben. Die Ausgabe ist der Satz, der den gesamten Ausdruck zwischen Ihrem angegebenen Anfangs- und Endschlüsselwort enthält. Diese Funktion ist sehr leistungsfähig, da Sie keinen ganzen Ausdruck in den Suchbefehl schreiben müssen.

Syntax:

$ grep „startingKeyword.*endingKeyword“ Dateiname

Beispiel:

$ grep "starting.*.ending" sampleFile.txt

Dieser Befehl druckt den Satz, der den Ausdruck enthält (beginnend mit meinem startKeyword und endend mit meinem endingKeyword) aus der Datei, die ich im grep-Befehl angegeben habe.

Zeigen Sie eine bestimmte Anzahl von Zeilen nach/vor der Suchzeichenfolge an

Sie können den Befehl grep verwenden, um N Zeilen vor/nach einer Suchzeichenfolge aus einer Datei auszugeben. Das Suchergebnis enthält auch die Textzeile, die den Suchbegriff enthält.

Die Syntax für N Zeilen nach der Schlüsselzeichenfolge:

$ grep -A „String“-Dateiname

Beispiel:

$ grep -A 3 -i "samplestring" sampleFile.txt

So sieht meine Beispieltextdatei aus:

Und so sieht die Ausgabe des Befehls aus:

Es zeigt 3 Zeilen, einschließlich derjenigen, die die gesuchte Zeichenfolge enthält, aus der Datei an, die ich im grep-Befehl angegeben habe.

Die Syntax für N Zeilen vor der Schlüsselzeichenfolge:

$ grep -B „String“-Dateiname

Sie können auch nach N Zeilen „um“ eine Textzeichenfolge suchen. Das bedeutet N Zeilen vor und N nach der Textzeichenfolge.

Die Syntax für N Zeilen um die Schlüsselzeichenfolge:

$ grep -C „String“-Dateiname

Anhand der in diesem Artikel beschriebenen einfachen Beispiele können Sie den grep-Befehl in den Griff bekommen. Sie können es dann verwenden, um gefilterte Ergebnisse zu suchen, die Dateien oder Inhalte der Datei enthalten können. Das spart viel Zeit, die Sie damit verschwendet hätten, die gesamten Suchergebnisse zu überfliegen, bevor Sie den grep-Befehl gemeistert haben.


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

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den id-Befehl unter Linux

  4. Verwenden Sie den Linux-Befehl grep

  5. So verwenden Sie den Befehl „screen“ unter Linux

So verwenden Sie grep unter Linux

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux