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

15 Beispiele für die Verwendung des Grep-Befehls in Linux

Grep oder Global Regular Expression Print ist ein äußerst nützlicher Linux-Befehl zum Auffinden übereinstimmender Muster. Es kann Dateien und Verzeichnisse durchsuchen und auch Eingaben von Befehlen lesen. Es sucht mit Regex oder regulären Ausdrücken und gibt Zeilen aus einer Datei aus, die dem angegebenen Muster entsprechen.

In diesem Beitrag sehen wir uns an, wie man den Grep-Befehl unter Linux verwendet. Die hier besprochenen Befehle wurden auf Ubuntu 20.04 getestet. Dieselben Grep-Befehle funktionieren auch für Debian, Mint, Fedora und CentOS.

Grep-Befehl installieren

Bei den meisten Linux-Distributionen, einschließlich Ubuntu 20.04 LTS, ist grep installiert. Falls auf Ihrem System Grep nicht installiert ist, können Sie es mit dem folgenden Befehl im Terminal installieren:

$ Sudo apt-get install grep

Grep-Befehlssyntax

Die grundlegende Syntax des Grep-Befehls lautet wie folgt:

$ grep [options] PATTERN [FILE...]

Grep-Befehl verwenden

Ein Wort in einer Datei finden

Mit Grep können Sie jedes Wort in einer bestimmten Datei suchen. Die Syntax wäre:

$ grep <word> <filename>

Der folgende Befehl sucht beispielsweise nach dem Wort „Donuts“ in der Datei „Donuts.txt“.

$ grep Donuts Donuts.txt

Ein Wort in mehreren Dateien finden

Sie können auch in mehreren Dateien nach einem bestimmten Wort suchen.

$ grep <word> <filename1> < filename2>

Der folgende Befehl sucht beispielsweise nach dem Wort „Donuts“ sowohl in „Donuts.txt“ als auch in „cakes.txt“.

$ grep Donuts Donuts.txt cakes.txt

Groß-/Kleinschreibung ignorieren

Grep führt standardmäßig Groß- und Kleinschreibung durch, das heißt, es behandelt „Donut“ und „Donuts“ unterschiedlich. Wenn wir den obigen Befehl erneut mit „Donuts“ ausführen, sehen Sie diesmal keine Ausgabe.

$ grep donuts Donuts.txt

Um die Groß-/Kleinschreibung zu ignorieren, müssen Sie „-i hinzufügen ” zu Ihrem Befehl wie folgt:

$ grep –i <word> <filename>

Suchen einer Datei nach Erweiterung in einem Verzeichnis

Sie können eine Datei in einem bestimmten Verzeichnis auch anhand ihrer Erweiterung finden. Verwenden Sie dazu die folgende Syntax:

$ ls ~/<directory> | grep .<file type>

Um beispielsweise alle „.jpeg“-Dateien im Ordner „Downloads“ zu finden, lautet der Befehl:

$ ls ~/Downloads | grep .jpeg

Drucken von Linien, die keinem Muster entsprechen

Mit Grep können Sie auch die Zeilen drucken, die nicht zu Ihrem Muster passen, indem Sie „-v hinzufügen “ zu Ihrem Befehl. Verwenden Sie dazu die folgende Syntax:

$ grep -v <word> <filename>

Beispielsweise druckt der folgende Befehl alle Zeilen außer derjenigen, die das Wort „Donuts“ enthält.

Nur das passende Wort drucken

Standardmäßig gibt grep die gesamte Zeile aus, die das Muster enthält. Um nur das passende Wort zu drucken, fügen Sie „-o hinzu ” zu Ihrem Befehl.

$ grep -o <word> <filename>

Beispielsweise druckt der folgende Befehl nur das Wort „Donuts“ anstatt die gesamte Zeile aus der Datei „Donuts.txt“.

Druckzeilennummer des übereinstimmenden Musters und der Zeile

Standardmäßig gibt grep die gesamte Zeile aus, die das Muster enthält. Um sowohl die Zeilennummer als auch die Zeile mit dem passenden Wort zu drucken, fügen Sie „-n hinzu ” zu Ihrem Befehl.

$ grep -n <word> <filename>

Der folgende Befehl gibt beispielsweise sowohl die Zeilennummer als auch die Zeile aus, die das Wort „Donuts“ enthält.

$ grep -n Donuts Donuts.txt

Drucken von Dateinamen, die einem Muster entsprechen

Um alle Dateien in Ihrem aktuellen Verzeichnis zu drucken, die Ihrem Muster entsprechen, verwenden Sie die folgende Syntax:

$ grep -l “<word>” *

Der folgende Befehl gibt beispielsweise alle Dateien aus, die das Wort „Hallo“ enthalten:

$ grep -l “Hello” *

Das ganze übereinstimmende Wort drucken

Standardmäßig gibt grep alle Wörter aus, die Ihrem Muster entsprechen, auch wenn sie Teil eines Wortes sind. Sehen Sie sich das Bild unten an.

Wir suchten nach der Zeichenfolge „do “ und kann alle Zeilen sehen, die „do“ enthalten “. Um das genaue Wort zu finden, fügen Sie „-w hinzu ” zu Ihrem Befehl.

$ grep –w <word> <filename>

Um beispielsweise nach dem genauen Wort „tun“ zu suchen “ in der Donuts.txt-Datei wäre der Befehl:

$ grep -w do Donuts.txt

Wie Sie sehen können, wird jetzt nur noch die Zeile gedruckt, die genau das Wort „do“ enthält “.

Übereinstimmende Zeilen, die mit einem bestimmten Wort beginnen

Um Zeilen zu drucken, die mit einem bestimmten Wort beginnen, fügen Sie „^ hinzu ” zu Ihrem Befehl.

$ grep ^<word> <filename>

Der folgende Befehl gibt beispielsweise alle Zeilen aus, die mit „Th beginnen “.

$ grep ^Th Donuts.txt

Passende Linien, die mit einem Muster enden

Um Zeilen zu drucken, die mit einem bestimmten Muster enden, fügen Sie „$ hinzu ” zu Ihrem Befehl.

$ grep <word>$ <filename>

Der folgende Befehl gibt beispielsweise alle Zeilen aus, die mit „t enden “.

$ grep t$ Donuts.txt

Übereinstimmungszeilen, die bestimmte Buchstaben enthalten

Wenn Sie nach Zeilen suchen möchten, die einen oder mehrere Buchstaben enthalten, verwenden Sie die folgende Syntax:

$ grep “[<letters>]” <filename>

Der folgende Befehl gibt beispielsweise alle Zeilen aus, die einen beliebigen Buchstaben von „a“ bis „f“ enthalten.

$ grep “[a-f]” Donuts.txt

Rekursive Suche

Um alle Dateien in einem Verzeichnis und Unterverzeichnis nach einem bestimmten Muster oder Wort zu durchsuchen, verwenden Sie:

$ grep -R <word> <path>

Der folgende Befehl listet beispielsweise alle Dateien auf, die das Wort „Hello“ im Documents-Verzeichnis enthalten. In der folgenden Ausgabe sehen Sie die Dateipfade zusammen mit den passenden Wörtern.

$ grep -R “Hello” /home/maryam/Documents

Spezifische Zeilen vor/nach den übereinstimmenden Wörtern drucken

Standardmäßig druckt Grep nur die Zeile, die mit dem bestimmten Muster übereinstimmt. Mit -A Option in Grep können Sie auch einige Zeilen vor oder nach den übereinstimmenden Wörtern einfügen.

Druckzeilen nach dem Spiel

Zum Drucken der Zeilen, die die übereinstimmenden Wörter einschließlich N enthalten Anzahl Zeilen nach den Treffern:

$ grep -A <N> <word> <filename>

Zum Beispiel druckt der folgende Befehl die Zeile, die das Wort „Hölle“ enthält, zusammen mit 1 Zeile danach.

$ grep -A 1 hell Donuts.txt

Druckzeilen vor dem Spiel

Zum Drucken der Zeilen, die die übereinstimmenden Wörter einschließlich N enthalten Anzahl Zeilen vor den Treffern:

$ grep -B <N> <word> <filename>

Beispielsweise druckt der folgende Befehl die Zeile mit dem Wort „hell“ zusammen mit 1 Zeile davor.

$ grep -B 1 hell Donuts.txt

Druckzeilen vor und nach dem Spiel

Zum Drucken der Zeilen, die die übereinstimmenden Wörter einschließlich N enthalten Anzahl der Zeilen vor und nach den Spielen:

$ grep -C <N> <word> <filename>

Beispielsweise druckt der folgende Befehl die Zeile mit dem Wort „Hölle“ zusammen mit 1 Zeile davor und danach.

$ grep -C 1 hell Donuts.txt

Zählen der Anzahl der Übereinstimmungen

Mit dem -c Option mit grep können Sie die Zeilen zählen, die einem bestimmten Muster entsprechen. Denken Sie daran, dass nur die Anzahl der Zeilen und nicht die Anzahl der übereinstimmenden Wörter abgeglichen wird.

$ grep -c <word> <filename>

Der folgende Befehl gibt beispielsweise die Anzahl der Zeilen aus, die das Wort „Donuts“ enthalten.

$ grep -c Donuts Donuts.txt

Beachten Sie, dass unsere Datei „Donuts.txt“ 4 „Donuts“ enthält, aber -c die Anzahl nur als 3 ausgegeben hat. Dies passiert, weil es die Anzahl der Zeilen statt der Anzahl der Übereinstimmungen zählt.

Verwenden Sie für weitere Informationen zu grep den folgenden Befehl:

$ grep --help

oder besuchen Sie die Manpage mit dem folgenden Befehl:

$ man grep

Dadurch gelangen Sie zur Handbuchseite von Grep.

Das ist alles, was dazu gehört! In diesem Beitrag haben wir die grundlegende Syntax und Verwendung des Befehls grep in Linux erklärt. Wir haben auch einige Befehlszeilenoptionen durchgesehen, um seine Nützlichkeit zu erweitern. Wenn Sie einige andere Verwendungen des Grep-Befehls in Linux kennen, die wir übersehen haben, würden wir gerne in den Kommentaren unten etwas darüber erfahren.

Lesen Sie diesen verwandten Artikel, um herauszufinden, wie Sie Dateien und Verzeichnisse in Linux finden können.


Ubuntu
  1. 5 praktische Linux-Fuser-Befehlsbeispiele

  2. 7 Beispiele für Linux-df-Befehle

  3. 8 Linux TR-Befehlsbeispiele

  4. Beispiele für die Verwendung des Befehls dmsetup unter Linux

  5. rm-Befehlsbeispiele unter Linux

Verwenden des Cat-Befehls unter Linux mit Beispielen

Verwenden des GREP-Befehls unter Linux mit Beispielen

Beispiele für Linux Touch-Befehle

Linux-IP-Befehl mit Beispielen

Grep-Befehl in Linux (mit Beispielen)

id-Befehlsbeispiele in Linux