Unix / Linux Verwendung von grep-Befehlen

grep ist eines der wichtigsten Unix / Linux-Befehlszeilenprogramme. In diesem Lernprogramm werden verschiedene Möglichkeiten zur Verwendung des Textsuchdienstprogramms beschrieben.

grep steht für „Globale Suche in regulären Ausdrücken und Drucken“.

grep zeigt die Zeilen in einer Datei an, die mit einem STDIN-Muster (Eingabe über die Tastatur) übereinstimmen. Das Muster, das durch grep als Eingabe angegeben wird, sind reguläre Ausdrücke, mit denen der Inhalt der Datei leicht durchsucht werden kann.

Syntax : grep [OPTIONEN] MUSTER [DATEI]

Befehl 1.1

$ grep 'root' / etc / passwd

Der obige Befehl sucht nach Inhalten, in denen 'root' in eine Datei '/ etc / passwd' geschrieben ist. Wenn eine Datei Zeichenfolgen als 'rootwr', 'ishroot' enthält, stimmt sie mit der Wurzel in 'rootwr' und 'ishroot' überein und zeigt das Ergebnis an. Wenn Sie mit grep genau nach dem Wort "root" suchen möchten, folgen Sie dem folgenden Befehl.

Befehl 1.2

$ grep -w 'root' / etc / passwd

Verwenden Sie -w, um das genaue Wort zu finden.

Der obige Befehl stimmt mit -w genauem Wort 'root' überein. Wenn eine Datei Zeichenfolgen wie 'rootwr', 'root', 'ishroot' enthält, wird dieser Befehl nur für das Muster 'root' und nicht für 'rootwr' und 'ishroot' angezeigt, die im ersten Befehl 1.1 angezeigt wurden.

Befehl 1.3

$ grep -i 'bug' / etc / passwd

Verwenden Sie -i, um zwischen Groß- und Kleinschreibung zu suchen.

Wenn Sie mit diesem Befehl suchen 'grep' bug '/ etc / passwd',
Es wird nur für 'bug' String-Muster passen, bei dem es sich nicht um ein Muster handelt, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird. Wenn / etc / passwd 'Bug', 'BuG', 'bGG' enthält, werden mit diesem Befehl 'grep' bug '/ etc / passwd' leere Ergebnisse angezeigt.

Um die Groß- und Kleinschreibung nicht nach dem Muster zu durchsuchen, müssen Sie '-i' verwenden, damit es für alle Muster für den angegebenen String passt.

zum Beispiel $ grep -i 'bug' / etc / passwd

passt zu Mustern für:

'Fehler'
'Fehler'
'Fehler'
'Fehler'
'FEHLER'
'Fehler'
'Fehler'

Alle Muster, die von 'Bug' ausgewertet werden.

Befehl 1.4

$ grep -n 'root' / etc / passwd

Verwenden Sie -n, um Zeilennummern von Übereinstimmungen zu drucken

Die Option -n zeigt jetzt Zeilennummern mit Zeilen an, die das Eingabemuster enthalten. Der obige Befehl zeigt die Zeilennummern an, die die Zeichenfolge 'root' enthalten.

Wenn Sie mehrere Wörter zuordnen möchten, können Sie dies mit folgendem Befehl tun:

Befehl 1.5

$ grep -E -n 'backup | root' / etc / passwd

Der obige Befehl sucht nach den beiden Wörtern Muster "backup" und "root" und zeigt die Zeilennummern mit Zeilen an, die beide Wörter enthalten.

Woher:

Verwenden Sie -E für erweiterte reguläre Ausdrücke

Weitere Hilfe hierzu finden Sie mit dem Befehl 'man grep'.

Befehl 1.6

$ grep -v 'root' / etc / passwd

Mit -v können Sie Zeilen drucken, die kein Muster enthalten.
Der obige Befehl zeigt Zeilen an, die das Muster 'root' nicht enthalten.

Befehl 1.7

$ grep -r 'root' / etc /

Verwenden Sie -r, um rekursiv ein Verzeichnis zu durchsuchen.
Dieser Befehl sucht nach dem Muster 'root' in allen Dateien im Verzeichnis '/ etc /'.

Befehl 1.8

$ grep -c 'bash' / etc / passwd

Verwenden Sie '-c', um die Anzahl der Zeilen mit dem übereinstimmenden Muster zurückzugeben.

Dieser Befehl zeigt die Anzahl der Zeilen an, die das 'bash'-Muster in einer Datei / etc / passwd enthalten.

Befehl 1.9

$ grep -r -l 'root' / etc

Verwenden Sie '-l', um die Namen von Dateien zurückzugeben, in denen mindestens eine Zeile das Muster enthält.

Der obige Befehl zeigt die Namen der Dateien an, die das Muster 'root' enthalten.
im Verzeichnis / etc. Wichtiger Hinweis: Sie müssen die Option '-r' (Befehl 1.7) verwenden, um das Verzeichnis / etc rekursiv durchlaufen zu können.