So finden Sie bestimmten Text mit grep
auf Linux. grep
ist eine Kurzform für Global Regular Expression Print. Es ist eines der nützlichsten Tools in Linux, um rekursiv oder in einer einzelnen Datei nach einer bestimmten Zeichenfolge in Dateien zu suchen.
In dieser Anleitung lernen Sie, wie Sie grep
verwenden Befehl für verschiedene Anwendungsfälle auf Ihrem Linux-Rechner.
Anwendungsfälle
- Normale Suche in einer Datei.
- Rekursive Suche über Verzeichnisse.
- Dateien ausschließen.
- Einschließlich Dateien.
- Suche nach regulären Ausdrücken.
- Grep mit anderen Befehlen verwenden, um die Ausgabe zu filtern.
grep-Befehlssyntax
grep [OPTIONS] STRING [FILE(S)]
OPTIONEN sind optional und umfassen verschiedene Methoden zur Durchführung der Suche.
STRING erforderlich ist, die die bestimmte Zeichenfolge zum Suchen verwendet.
DATEI(EN) Sie können Dateien oder Verzeichnisse hinzufügen, um die Suche durchzuführen, oder nur .
um im aktuellen Verzeichnis zu suchen.
Standardmäßig unterscheidet grep zwischen Groß- und Kleinschreibung. Wenn Sie die Groß-/Kleinschreibung ignorieren möchten, können Sie den -i
verwenden Option, die die Groß-/Kleinschreibung ignoriert und den Inhalt in Klein- und Großbuchstaben ausgibt.
Normale Suche innerhalb der Datei
Dies ist die grundlegendste Verwendung des grep-Befehls. Verwenden Sie einfach den Befehl mit der Zeichenfolge, nach der Sie suchen müssen, und dem Dateinamen.
grep string filename
Dieser Befehl sucht nach dem angegebenen Text in der bereitgestellten Datei und gibt die Ergebnisse aus.
Rekursive Suche einschließlich Verzeichnissen
Um alle Dateien innerhalb des Verzeichnisses zu durchsuchen, müssen Sie den -r
verwenden Option, um eine rekursive Suche innerhalb des angegebenen Ordners durchzuführen.
Die -r
Option folgen Sie nicht den symbolischen Links. Wenn Sie über symbolische Links suchen möchten, müssen Sie den Großbuchstaben -R
verwenden Option statt kleiner -r
Option.
grep -r string folder-name #Include Symbolic link files grep -R string folder-name
Dateien ausschließen, während grep verwendet wird
Sie können den --exclude
verwenden Option zum Ausschließen von Verzeichnissen, bestimmten Dateien oder Dateien mit bestimmten Erweiterungen.
grep -r string --exclude=filename --exclude=*.png --exclude=folder/* folder-name
Dateien bei Verwendung von grep einschließen
Sie können den --include
verwenden Option, nur bestimmte Verzeichnisse, bestimmte Dateien oder Dateien mit bestimmten Erweiterungen einzuschließen.
grep -r string --include=filename --include=*.php --include=folder/* folder-name
Suche nach regulären Ausdrücken
Verwenden Sie den ^
(Caret)-Symbol, um den Ausdruck am Anfang einer Zeile abzugleichen. Im folgenden Beispiel der Text string
wird nur übereinstimmen, wenn es ganz am Anfang einer Zeile steht.
grep "^string" filename
Verwenden Sie den $
(Dollar)-Symbol, um den Ausdruck am Ende einer Zeile abzugleichen. Im folgenden Beispiel der Text string
wird nur übereinstimmen, wenn es ganz am Ende einer Zeile steht.
grep "string$" filename
Verwenden Sie den .
(Punkt) Symbol, um ein beliebiges einzelnes Zeichen zu finden. Zum Beispiel, um alles abzugleichen, was mit string1
beginnt ist dann zweistellig und endet mit dem Text string2
, könnten Sie das folgende Muster verwenden.
grep "string1..string2" filename
Verwenden Sie [ ]
(Klammern), um jedem einzelnen Zeichen zu entsprechen, das in Klammern eingeschlossen ist. Suchen Sie beispielsweise die Zeilen, die boat
enthalten oder „coat
, könnten Sie das folgende Muster verwenden.
grep "[bc]oat" filename
Um die besondere Bedeutung des nächsten Zeichens zu umgehen, verwenden Sie den \
(Backslash)-Symbol.
Grep mit anderen Befehlen verwenden
Sie können auch grep verwenden, um die Ausgabe zu filtern, die mit einem anderen Befehl bereitgestellt wird.
ps -ef | grep mysql | grep -v grep
Dadurch wird die Ausgabe herausgefiltert, um nur die mit mysql
anzuzeigen .
Schlussfolgerung
Jetzt haben Sie gelernt, wie Sie eine Suche mit dem grep-Befehl mit verschiedenen Methoden auf Ihrem Linux-Rechner durchführen.
Vielen Dank für Ihre Zeit. Wenn Sie auf ein Problem oder Feedback stoßen, hinterlassen Sie bitte unten einen Kommentar.