10 Praktische Beispiele für den Linux Grep-Befehl

Der Befehl grep bietet Zugriff auf das Dienstprogramm grep, ein leistungsstarkes Dateiverarbeitungswerkzeug zum Suchen von Mustern in Textdateien. Es hat viele praktische Anwendungsfälle und ist sicherlich einer der am häufigsten verwendeten Linux-Befehle. Dieses Handbuch zeigt einige einfache, aber nützliche Linux-Grep-Befehle, die in der Praxis verwendet werden.

Beispieldatei zur Demonstration

Wir haben eine Referenzdatei erstellt, damit die Leser grep besser verstehen können. Sie können eine Kopie dieser Datei erstellen, indem Sie den folgenden Shell-Befehl in Ihrem Terminal ausführen.

 cat <<END >> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
[email protected]
https://google.com
ftp://mywebserver.com
END

1. Suchen Sie Text in Dateien

Um in einer Datei nach Textmustern zu suchen, führen Sie einfach grep gefolgt vom Musternamen aus. Geben Sie außerdem den Namen der Datei an, die den Text enthält.

 grep "email" test-file

Dieser Befehl zeigt die Zeile in unserer Testdatei an , die das Wort E-Mail enthält. Sie können denselben Text auch mit grep in mehreren Dateien durchsuchen.

 grep "example" /usr/share/dict/american-english /usr/share/dict/british-english

Die obigen Befehl werden alle Instanzen des Wortes Beispiel in den amerikanischen Englisch und britisch-Englisch – Wörterbuch – Dateien.

10 Praktische Beispiele für den Linux Grep-Befehl - find text using Linux grep command

2. Finden Sie genaue Übereinstimmungswörter

Der im vorherigen Beispiel dargestellte Linux-Befehl grep listet auch Zeilen mit Teilübereinstimmungen auf. Verwenden Sie den unten angegebenen Befehl, wenn Sie nur das genaue Vorkommen eines Wortes benötigen.

 grep -w "string" test-file

Die Option -w oder –word-regexp von grep beschränkt die Ausgabe auf exakte Übereinstimmungen. Grep besteht aus einigen zusätzlichen Flags, die auch mit dem Standardbefehl verwendet werden können.

Verwandte: Wie hat Grep seinen Namen bekommen? Die Geschichte hinter Greps Schöpfung

3. Fallunterscheidungen ignorieren

Standardmäßig sucht grep nach Mustern, bei denen zwischen Groß- und Kleinschreibung unterschieden wird. Möglicherweise möchten Sie dies jedoch deaktivieren, wenn Sie vorher nicht wissen, in welchem ​​Fall das Muster vorliegt.

 grep -i "this" test-file

Verwenden Sie die Option -i oder –ignore-case, um die Groß- / Kleinschreibung zu deaktivieren .

10 Praktische Beispiele für den Linux Grep-Befehl - disable case matching for grep

4. Zählen Sie die Anzahl der Muster

Das Flag -c steht für count . Es zeigt die Anzahl der Übereinstimmungen an, die für ein bestimmtes Muster gefunden wurden. Administratoren können dies verwenden, um bestimmte Informationen über das System abzurufen.

Sie können den Befehl ps mit grep weiterleiten, um die Prozesse zu zählen, die dem aktuellen Benutzer gehören.

 ps -ef | grep -c $USER
10 Praktische Beispiele für den Linux Grep-Befehl - count pattern numbers in grep

Der folgende Befehl zeigt die Anzahl der in einem Verzeichnis vorhandenen MP3- Dateien an.

 ls ~/Music | grep -c .mp3

5. Zeilennummern mit Übereinstimmungen anzeigen

Möglicherweise möchten Sie die Zeilennummern finden, die eine bestimmte Übereinstimmung enthalten. Verwenden Sie dazu die Option -n oder –line-number von grep.

 cat /etc/passwd | grep -n rubaiat

Diese Option ist besonders nützlich zum Debuggen von Quellcodes und zur Fehlerbehebung bei Protokolldateien. So zeigen Sie alle Nummern für Zeilen in ~ / .vimrc an , die zum Konfigurieren des Vim-Texteditors verwendet werden :

 grep -n "set" ~/.vimrc

6. Suchen Sie Dateinamen mithilfe von Erweiterungen

So erhalten Sie eine Liste aller im Verzeichnis ~ / Music vorhandenen MP3- Dateien:

 ls ~/Music/ | grep ".mp3"
10 Praktische Beispiele für den Linux Grep-Befehl - display files using extension pattern in grep

Sie können .mp3 durch andere Erweiterungen ersetzen, um bestimmte Dateien zu finden. Der folgende Befehl listet alle PHP- Dateien auf, die im aktuellen Arbeitsverzeichnis vorhanden sind.

 ls | grep ".php"

7. Suchen Sie nach Mustern in komprimierten Dateien

Der Linux-Befehl grep kann auch Muster in komprimierten Dateien finden. Dazu müssen Sie jedoch den Befehl zgrep verwenden . Erstellen Sie zunächst ein komprimiertes Archiv unserer Testdatei, indem Sie Folgendes eingeben:

 gzip test-file

Jetzt können Sie im resultierenden Archiv nach Text oder anderen Mustern suchen.

 zgrep email test-file.gz

8. Suchen Sie nach E-Mail-Adressen

Administratoren können mit dem Linux-Befehl grep auch E-Mail-Adressen aus Textdateien auflisten. Im folgenden Beispiel wird nach einem Muster für reguläre Ausdrücke gesucht.

 grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[az]{2,}' test-file

Sie können reguläre Ausdrücke für ähnliche Aufgaben finden oder sie selbst erstellen, wenn Sie wissen, wie sie funktionieren.

10 Praktische Beispiele für den Linux Grep-Befehl - find number and email using Linux grep command

9. Suchen Sie Telefonnummern mit Grep

Sie können reguläre grep-Ausdrücke verwenden, um Telefonnummern aus einer Textdatei herauszufiltern. Beachten Sie, dass Sie das Muster anpassen müssen, um es an die Art der benötigten Telefonnummern anzupassen.

 grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

Der oben genannte Befehl filtert zehnstellige amerikanische Telefonnummern heraus.

10. Suchen Sie URLs aus Quelldateien

Wir können die Leistung von grep nutzen, um URLs in Textdateien aufzulisten. Der unten angegebene Befehl druckt alle in der Testdatei vorhandenen URLs.

 grep -E "^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})" test-file
10 Praktische Beispiele für den Linux Grep-Befehl - display url using grep command

Wir verwenden wieder die Option -E für erweiterte reguläre Ausdrücke. Sie können auch den Befehl egrep verwenden , um das Hinzufügen zu vermeiden.

 egrep "^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})" test-file

Beherrschen des Linux Grep-Befehls

Wir haben einige nützliche Beispiele für den Linux-Befehl grep vorgestellt, mit denen Probleme der realen Welt gelöst werden können. Obwohl diese Beispiele die Leistungsfähigkeit von grep für die Textverarbeitung veranschaulichen, müssen Sie reguläre Ausdrücke beherrschen, wenn Sie mit grep überaus produktiv sein möchten.

Manchmal stoßen Linux-Benutzer auf bestimmte Situationen, in denen sie sich nicht an die verschiedenen Optionen eines Befehls erinnern können. Hoffentlich bietet Ihnen das Linux-Betriebssystem Möglichkeiten, Befehlszeilenhilfe für fast jedes Systemdienstprogramm zu erhalten.