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

14 Grep-Befehlsbeispiele unter Linux

Grep ist ein Befehlszeilendienstprogramm in Linux- und Unix-Systemen, das verwendet wird, um Zeilen aus einer Datei zu drucken, nachdem die Zeichenfolgen oder das Wort abgeglichen wurden. grep steht für Global Regular Expression Print, es kann verwendet werden, um Zeichenfolgen aus einer oder mehreren Dateien basierend auf dem Muster zu suchen. Ein Muster kann ein einzelnes Zeichen, eine Gruppe von Zeichen, ein einzelnes Wort oder ein Satz sein.

Wenn wir den Befehl grep mit der angegebenen Zeichenfolge ausführen, wird bei Übereinstimmung die Zeile der Datei angezeigt, die die Zeichenfolge enthält, ohne den Inhalt der vorhandenen Datei zu ändern.

Syntax des Grep-Befehls:

$ grep 

In diesem Tutorial werden wir 14 nützliche Beispiele für Linux-Grep-Befehle diskutieren, lassen Sie uns in die Beispiele eintauchen.

Beispiel 1) Suchen Sie das Muster oder Wort in einer Datei

Wenn wir den Befehl grep gefolgt von einer Suchzeichenfolge oder einem Muster ausführen, wird die passende Zeile einer Datei gedruckt. Beispiel ist unten gezeigt.

Suchen Sie das Wort „linuxtechi“ in der Datei /etc/passwd,

[E-Mail-geschützt]:~# grep linuxtechi /etc/passwdlinuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash[E-Mail-geschützt]:~#

Beispiel 2) Suchen Sie das Muster in mehreren Dateien

Um das Wort „linuxtechi“ in mehreren Dateien wie /etc/passwd, /etc/shadow und /etc/gshadow zu suchen, führen Sie

aus
[email protected]:~# grep linuxtechi /etc/passwd /etc/shadow /etc/gshadow/etc/passwd:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/ bash/etc/shadow:linuxtechi:$6$DdgXjxlM$4flz4JRvefvKp0DG6re:16550:0:99999:7:::\/etc/gshadow:adm:*::syslog,linuxtechi/etc/gshadow:cdrom:*::linuxtechi/ etc/gshadow:sudo:*::linuxtechi/etc/gshadow:dip:*::linuxtechi/etc/gshadow:plugdev:*::linuxtechi/etc/gshadow:lpadmin:!::linuxtechi/etc/gshadow:linuxtechi:!::/etc/gshadow:sambashare:!::linuxtechi[email protected]:~#

Beispiel 3) Listen Sie die Namen der Dateien auf, die das Wort ( grep -l) enthalten

Nehmen wir an, wir möchten die Dateien auflisten, die das Wort „linuxtechi“ aus mehreren Dateien enthalten, verwenden Sie dazu die Option „-l“ im grep-Befehl, gefolgt von Wort (Muster) und Dateien.

[E-Mail-geschützt]:~# grep -l linuxtechi /etc/passwd /etc/shadow /etc/fstab /etc/mtab/etc/passwd/etc/shadow[E-Mail-geschützt]:~#

Beispiel 4) Suchen Sie das Muster in der Datei zusammen mit der zugehörigen Zeilennummer (grep -n)

Nehmen wir an, wir möchten eine Listenzeile und ihre Nummer, die dem Muster oder Wort entspricht. Verwenden Sie die Option „-n“ im grep-Befehl. In unserem Beispiel ist das Muster „linuxtechi“

[email protected]:~# grep -n linuxtechi /etc/passwd39:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash[email protected]:~# 

Unten ist ein weiteres Beispiel, das die Zeile und ihre Nummer anzeigt, nachdem ein Wort „root“ in /etc/passwd und /etc/shadow file abgeglichen wurde

[E-Mail-geschützt]:~# grep -n root /etc/passwd /etc/shadow

Beispiel 5) Drucken Sie die Zeilen ohne das Muster (grep -v)

Listen Sie alle Zeilen der Datei /etc/passwd auf, die das spezifische Wort „linuxtechi“ nicht enthalten.

[email protected]:~# grep -v linuxtechi /etc/passwd

Beispiel 6) Suche alle Zeilen, die mit einem bestimmten Muster beginnen (grep ^)

Die Bash-Shell behandelt das Caret-Symbol (^) als Sonderzeichen, das den Anfang einer Zeile oder eines Wortes markiert. Lassen Sie uns die Zeilen anzeigen, die mit dem Wort „root“ in der Datei /etc/passwd beginnen und unter dem Befehl grep

ausgeführt werden
[E-Mail-geschützt]:~# grep ^root /etc/passwdroot:x:0:0:root:/root:/bin/bash[E-Mail-geschützt]:~#

Beispiel 7) Suche alle Zeilen, die mit einem bestimmten Wort enden (grep $)

Die Bash-Shell behandelt das Dollarsymbol „$“ als Sonderzeichen, das das Ende einer Zeile oder eines Wortes markiert. Listen Sie alle Zeilen von /etc/passwd auf, die mit „bash enden ” Wort.

[email protected]:~# grep bash$ /etc/passwdroot:x:0:0:root:/root:/bin/bashlinuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash[E-Mail-geschützt]:~#

Beispiel 8) Suchen Sie rekursiv nach Wörtern oder Mustern (grep -r)

Wenn wir den Befehl grep ausführen, ohne die Dateinamen zu erwähnen, werden die Zeilen aus allen Dateien angezeigt, die die übereinstimmende Zeichenfolge enthalten. Es führt die Suche rekursiv im aktuellen Arbeitsverzeichnis durch.

Um ein Wort rekursiv in allen Dateien eines Ordners zu suchen, verwenden Sie die Option „-r“ im grep-Befehl, das Beispiel ist unten gezeigt:

[email protected]:~# grep -r linuxtechi /etc//etc/subuid:linuxtechi:100000:65536/etc/group:adm:x:4:syslog,linuxtechi/etc/group:cdrom:x:24:linuxtechi/etc/group:sudo:x:27:linuxtechi/etc/group:dip:x:30:linuxtechi/etc/group:plugdev:x:46:linuxtechi/etc/group:lpadmin:x:115:linuxtechi/etc/group:linuxtechi:x:1000:/etc/group:sambashare:x:131:linuxtechi/etc/passwd-:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin /bash/etc/passwd:linuxtechi:x:1000:1000:linuxtechi,,,:/home/linuxtechi:/bin/bash..................... .................................................... .....

Der obige Befehl sucht rekursiv nach dem Wort „linuxtechi“ im Verzeichnis „/etc“.

Beispiel 9) Alle leeren oder leeren Zeilen einer Datei durchsuchen (grep ^$)

Um alle leeren oder leeren Zeilen in einer Datei zu suchen und aufzulisten, verwenden Sie die Sonderzeichenkombination „^$“ im grep-Befehl, das Beispiel ist unten gezeigt:

[E-Mail-geschützt]:~# grep ^$ /etc/shadow[E-Mail-geschützt]:~#

Da es in /etc/shadow file keine leere Zeile gibt, wird nichts angezeigt.

Beispiel 10) Groß-/Kleinschreibung bei der Suche ignorieren (grep -i)

Die Option -i im Befehl grep ignoriert die Groß- und Kleinschreibung, d. h. sie unterscheidet bei der Suche nicht zwischen Groß- und Kleinbuchstaben

Nehmen wir ein Beispiel:Ich möchte in der Passwd-Datei nach dem Wort „LinuxTechi“ suchen.

[E-Mail-geschützt]:~$ grep -i LinuxTechi /etc/passwdlinuxtechi:x:1001:1001::/home/linuxtechi:/bin/bash[E-Mail-geschützt]:~$

Hinweis: Der Grep-Befehl erlaubt die Suche basierend auf dem genauen Wort mit der Option „-w“, das Beispiel ist unten gezeigt,

[email protected]:~$ grep -w cook /mnt/my_dish.txt

Der obige Befehl sucht und sucht nach den Zeilen, die das Wort „Koch“ enthalten. Es wird keine Ergebnisse geben, die gekocht haben.

Beispiel 11) Suche nach mehreren Mustern oder Wörtern (grep -e)

Zum Beispiel möchte ich das Wort „linuxtechi“ und „root“ in einem einzigen grep-Befehl suchen und dann die Option -e im grep-Befehl verwenden, gefolgt von einem Suchmuster

[email protected]:~# grep -e "linuxtechi" -e "root" /etc/passwdroot:x:0:0:root:/root:/bin/bashlinuxtechi:x:1000:1000:linuxtechi, ,,:/home/linuxtechi:/bin/bash[email protected]:~#or [email protected]:~# grep -E "linuxtechi|root" /etc/passwd

Beispiel 12) Suchmuster aus einer Datei abrufen (grep -f)

Verwenden Sie die Option „-f“ im grep-Befehl, um Suchmuster aus einer Datei zu erhalten. Das Beispiel wird unten gezeigt:

Erstellen Sie zunächst eine Suchmusterdatei „grep_pattern“ in Ihrem aktuellen Arbeitsverzeichnis. In meinem Fall habe ich die folgenden Inhalte eingefügt.

[email protected]:~# cat grep_pattern^linuxtechirootfalse$[email protected]:~#

Versuchen Sie nun, mithilfe der Datei grep_pattern zu suchen.

[E-Mail-geschützt]:~# grep -f grep_pattern /etc/passwd

Beispiel 13) Zählen Sie die Zeilen, die dem Suchmuster entsprechen (grep -c)

Wenn Sie die Anzahl der Zeilen zählen möchten, die mit dem Suchmuster übereinstimmen, verwenden Sie die Option „-c“ im grep-Befehl.

Betrachten wir das obige Beispiel und zählen die Zeilen, die dem Suchmuster entsprechen,

[E-Mail-geschützt]:~# grep -c -f grep_pattern /etc/passwd22[E-Mail-geschützt]:~#

Beispiel 14) Anzeige von N Zeilen vor und nach dem Mustervergleich (grep -B -A)

a) Zeigen Sie vier Zeilen vor dem Musterabgleich an, verwenden Sie die Option -B im grep-Befehl, das Beispiel ist unten gezeigt:

[email protected]:~# grep -B 4 "Spiele" /etc/passwd

b) Zeigen Sie vier Zeilen nach dem Mustervergleich an, verwenden Sie die Option -A im grep-Befehl

[email protected]:~# grep -A 4 "Spiele" /etc/passwd

c) Zeigen Sie vier Linien um den Mustervergleich mit der Option -C

an
[email protected]:~# grep -C 4 "Spiele" /etc/passwd

Das ist alles aus dem Artikel, ich hoffe, diese Beispiele helfen Ihnen, den grep-Befehl effizienter zu nutzen. Bitte teilen Sie Ihr Feedback und Ihre Kommentare im Kommentarbereich unten mit.

Auch lesen10 „rm“-Befehlsbeispiele für Linux-Anfänger


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

  2. rm-Befehlsbeispiele unter Linux

  3. ps-Befehlsbeispiele in Linux

  4. sa-Befehlsbeispiele in Linux

  5. w Befehlsbeispiele unter Linux

9 diff-Befehlsbeispiele in Linux

So verwenden Sie den Grep-Befehl unter Linux + Nützliche Grep-Beispiele

Linux-IP-Befehl mit Beispielen

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

Grep-Befehl in Linux (mit Beispielen)

id-Befehlsbeispiele in Linux