grep

Grep-Befehl unter Linux

Grep-Befehl unter Linux
Der Befehl Grep (global regular expression print) ist das leistungsstärkste und am häufigsten verwendete Linux-Befehlszeilenprogramm. Mit Grep können Sie nach nützlichen Informationen suchen, indem Sie ein Suchkriterium angeben. Es sucht nach einem bestimmten Ausdrucksmuster in einer angegebenen Datei. Wenn es eine Übereinstimmung findet, druckt es alle Zeilen einer Datei, die dem angegebenen Muster entsprechen. Es ist praktisch, wenn Sie durch große Protokolldateien filtern müssen.

In diesem Artikel erklären wir die Verwendung des Dienstprogramms grep anhand verschiedener Beispiele explain. Wir werden Debian 10 verwenden, um die in diesem Artikel erwähnten Befehle und Methoden zu erklären.

Installation von Grep

Grep ist in den meisten Linux-Distributionen installiert. Falls es jedoch auf Ihrem System fehlt, können Sie es mit der folgenden Methode im Terminal installieren:

$ sudo apt-get install grep

Verwenden von 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…]

Dateien suchen Search

Um nach einem Dateinamen in einem Verzeichnis zu suchen, das eine bestimmte Zeichenfolge enthält, können Sie grep folgendermaßen verwenden:

$ ls -l | grep -i „string“

Um beispielsweise nach einem Dateinamen zu suchen, der eine Zeichenfolge enthält „Prüfung“, der Befehl wäre:

$ ls -l | grep - ich teste

Dieser Befehl listet alle Dateien auf, die die Zeichenfolge „Prüfung”.

Suche nach einer Zeichenfolge in einer Datei

Um in einer bestimmten Datei nach einer Zeichenfolge zu suchen, können Sie die folgende Befehlssyntax verwenden:

$ grep „string“ Dateiname

Um beispielsweise nach einer Zeichenfolge zu suchen „Prüfung“ in einer Datei namens Testdatei1, Wir haben den folgenden Befehl verwendet:

$ grep „Mitarbeiter“ Testdatei1

Die obige Ausgabe hat den Satz aus dem . zurückgegeben Testdatei1 das enthält die Zeichenfolge „Mitarbeiter”.

Suche nach einer Zeichenfolge in mehreren Dateien

Um in mehreren Dateien nach einer Zeichenfolge zu suchen, können Sie die folgende Befehlssyntax verwenden:

$ grep „string“ Dateiname1 Dateiname2

Um beispielsweise in unseren beiden Dateien testfile1 und testfile2 nach einem String „employee“ zu suchen, haben wir den folgenden Befehl verwendet:

$ grep „Mitarbeiter“ Testdatei1 Testdatei2

Der obige Befehl listet alle Zeilen auf, die die Zeichenfolge „employee“ aus beiden Dateien testfile1 und testfile2 enthalten.

Sie können auch ein Platzhalterzeichen verwenden, wenn alle Dateinamen mit dem gleichen Text beginnen.

$ grep „string“ Dateiname*

Zum Beispiel, wenn wir das obige Beispiel nehmen, in dem unsere Dateinamen waren Testdatei1 und Testdatei2 , der Befehl wäre:

$ grep „Mitarbeiter“-Testdatei*

Suchen Sie in einer Datei nach einer Zeichenfolge, indem Sie die Groß-/Kleinschreibung der Zeichenfolge ignorieren

Am häufigsten ist Ihnen das passiert, wenn Sie mit grep nach etwas suchen, aber keine Ausgabe erhalten. Dies geschieht aufgrund einer nicht übereinstimmenden Groß-/Kleinschreibung bei der Suche nach einer Zeichenfolge. Wenn wir wie in unserem Beispiel fälschlicherweise „Mitarbeiter" Anstatt von "Mitarbeiter“, wird nil zurückgegeben, da unsere Datei die Zeichenfolge „Mitarbeiter” in Kleinbuchstaben.

Sie können grep anweisen, die Groß-/Kleinschreibung der Suchzeichenfolge zu ignorieren, indem Sie das Flag -i nach dem grep wie folgt verwenden:

$ grep -i „string“ Dateiname

Durch die Verwendung des Flags -i führt der Befehl eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durch und gibt alle Zeilen zurück, die die Zeichenfolge "Mitarbeiter” darin ohne Berücksichtigung der Buchstaben sind Groß- oder Kleinbuchstaben.

Suche mit dem regulären Ausdruck

Bei richtiger Verwendung ist der reguläre Ausdruck eine sehr effektive Funktion in grep. Mit dem Grep-Befehl können Sie einen regulären Ausdruck mit einem Anfangs- und einem Endschlüsselwort definieren. Auf diese Weise müssen Sie nicht die gesamte Zeile mit dem Befehl grep eingeben. Dazu kann die folgende Syntax verwendet werden.

$ grep „Startschlüsselwort.*EndingKeyword” Dateiname

Um beispielsweise in einer Datei namens testfile1 nach einer Zeile zu suchen, die mit der Zeichenfolge „this“ beginnt und mit der Zeichenfolge „data“ endet, haben wir den folgenden Befehl verwendet:

$ grep „das“.*Daten” Testdatei1

Es wird die gesamte Zeile aus dem Testdatei1 der den Ausdruck enthält (Startschlüsselwort „this“ und Endschlüsselwort „data“).

Drucken Sie eine bestimmte Anzahl von Zeilen nach/vor dem Suchstring

Sie können auch die spezifische Anzahl von Zeilen in einer Datei vor/nach einem String-Match zusammen mit dem übereinstimmenden String selbst anzeigen. Dazu kann folgende Syntax verwendet werden:

$ grep -A Dateiname „string“

Es werden N Zeilen angezeigt, nachdem die Zeichenfolge in der angegebenen Datei einschließlich der übereinstimmenden Zeichenfolge abgeglichen wurde.

Dies ist zum Beispiel unsere Beispieldatei mit dem Namen Testdatei2.

Der folgende Befehl gibt die übereinstimmende Zeile aus, die die Zeichenfolge „Mitarbeiter”, zusammen mit den 2 Zeilen danach.

$ grep -A 2 -i „Mitarbeiter“ Testdatei2

Verwenden Sie auf ähnliche Weise die folgende Syntax, um N Zeilen vor der übereinstimmenden Zeichenfolge in einer bestimmten Datei anzuzeigen:

$ grep -B Dateiname „string“

Verwenden Sie die folgende Syntax, um N Zeilen um die Zeichenfolge in einer bestimmten Datei anzuzeigen:

$ grep -C Dateiname „string“

Hervorhebung der Suche

Grep druckt standardmäßig übereinstimmende Zeilen, zeigt jedoch nicht an, welcher Teil der Zeile übereinstimmt. Wenn Sie die Option -color mit grep verwenden, wird angezeigt, wo die Bearbeitungszeichenfolgen in Ihrer Datei erscheinen. Grep verwendet standardmäßig die rote Farbe zum Hervorheben.

Dazu kann folgende Syntax verwendet werden:

$ grep "string" Dateiname --color

Zählen der Anzahl der Spiele

Wenn Sie zählen möchten, wie oft ein bestimmtes Wort in einer bestimmten Datei vorkommt, können Sie grep mit der Option -c verwenden. Es gibt nur die Anzahl der Übereinstimmungen und nicht die Übereinstimmungen selbst zurück. Dazu kann folgende Syntax verwendet werden:

$ grep -c „string“ Dateiname

So sieht unsere Beispieldatei aus:

Im Folgenden finden Sie ein Beispiel für einen Befehl, der die Häufigkeit des Wortes zurückgibt Datei erschien in einer Datei namens Testdatei3.

Invertierte Suche

Manchmal möchten Sie eine Rückwärtssuche durchführen, die alle Zeilen anzeigt, außer denen, die mit der Eingabe übereinstimmen. Verwenden Sie dazu einfach das Flag -v gefolgt von grep:

$ grep -v „string“ Dateiname

Um beispielsweise alle Zeilen in einer Datei anzuzeigen Testdatei3 die das Wort „Konto“ nicht enthalten, haben wir den folgenden Befehl verwendet:

$ grep -v „Konto“ Testdatei3

Grep mit anderen Befehlen verwenden

Grep kann auch verwendet werden, um das erforderliche Ergebnis aus verschiedenen Befehlsausgaben herauszufiltern. Zum Beispiel aus dem „apt -installierte Liste” Befehlsausgabe nur die automatisch installierten Pakete finden möchten, können Sie das Ergebnis mit grep wie folgt herausfiltern:

$ apt --installierte Liste | grep automatisch

Ebenso liefert lscpu detaillierte Informationen über die CPU. Wenn Sie nur die Informationen zur CPU-Architektur interessieren, können Sie diese mit dem folgenden Befehl herausfiltern:

$ lscpu | grep Architektur

In diesem Artikel haben wir einige Beispiele beschrieben, die Ihnen helfen, die grep-Befehle und ihre Verwendung unter verschiedenen Bedingungen zu verstehen. Wenn Sie den grep-Befehl fest im Griff haben, können Sie viel Zeit sparen, wenn Sie große Konfigurations- oder Protokolldateien anzeigen und nützliche Informationen durchlesen müssen.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...