10 praktische Beispiele für den Linux-Befehl Grep

10 praktische Beispiele für den Linux-Befehl Grep

Der Befehl grep bietet Zugriff auf das Dienstprogramm grep, ein leistungsstarkes Werkzeug zur Dateiverarbeitung, das zum Auffinden von Mustern in Textdateien verwendet wird. Es hat viele praktische Anwendungsfälle und ist sicherlich einer der am häufigsten verwendeten Linux-Befehle. Dieses Handbuch veranschaulicht einige einfache, aber nützliche Linux-grep-Befehle, die in der realen Welt verwendet werden können.





Beispieldatei für Demonstration

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





wie man mit der rechten Maustaste auf das Trackpad klickt
cat <> 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
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. Text in Dateien suchen

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 unserem Testdatei das enthält das Wort Email . Sie können mit grep auch denselben Text in mehreren Dateien durchsuchen.

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

Der obige Befehl zeigt alle Vorkommen des Wortes an Beispiel in dem amerikanisches Englisch und Britisches Englisch Wörterbuchdateien.



2. Finden Sie genau passende Wörter

Der im vorherigen Beispiel veranschaulichte Linux-Befehl grep listet auch Zeilen mit teilweisen Übereinstimmungen auf. Verwenden Sie den unten angegebenen Befehl, wenn Sie nur die genauen Vorkommen eines Wortes benötigen.

grep -w 'string' test-file

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





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

3. Ignorieren Sie Fallunterscheidungen

Standardmäßig sucht grep nach Mustern unter Beachtung der Groß-/Kleinschreibung. Sie können dies jedoch deaktivieren, wenn Sie vorher nicht wissen, in welchem ​​Fall das Muster ist.





grep -i 'this' test-file

Verwenden Sie die -ich oder --Fall ignorieren Option zum Deaktivieren der Groß-/Kleinschreibung.

4. Zählen Sie die Anzahl der Muster

Die -C Flagge steht für zählen . Es zeigt die Anzahl der Übereinstimmungen an, die für ein bestimmtes Muster gefunden wurden. Administratoren können dies verwenden, um spezifische Informationen über das System abzurufen.

Du kannst pfeifen der ps-Befehl mit grep, um die Prozesse zu zählen, die zum aktuellen Benutzer gehören.

ps -ef | grep -c $USER

Der folgende Befehl zeigt die Anzahl der MP3 Dateien, die in einem Verzeichnis vorhanden sind.

ls ~/Music | grep -c .mp3

5. Zeilennummern mit Übereinstimmungen anzeigen

Möglicherweise möchten Sie die Zeilennummern suchen, die eine bestimmte Übereinstimmung enthalten. Verwenden Sie die -n oder --Zeilennummer Option von grep, um dies zu erreichen.

cat /etc/passwd | grep -n rubaiat

Diese Option ist besonders nützlich, um Quellcodes zu debuggen und Protokolldateien zu beheben. Um alle Nummern für Linien im anzuzeigen ~/.vimrc die zum Konfigurieren des Vim-Texteditors verwendet werden:

grep -n 'set' ~/.vimrc

6. Dateinamen mithilfe von Erweiterungen finden

Um eine Liste mit allen zu erhalten MP3 Dateien im ~/Musik Verzeichnis:

ls ~/Music/ | grep '.mp3'

Sie können ersetzen .mp3 mit anderen Erweiterungen zum Auffinden bestimmter Dateien. Der folgende Befehl listet alle php Dateien im aktuellen Arbeitsverzeichnis.

gute videobearbeitungssoftware für youtube
ls | grep '.php'

7. Finden Sie Muster in komprimierten Dateien

Der Linux-Befehl grep kann auch Muster in komprimierten Dateien finden. Sie müssen die zgrep Befehl dafür aber. Erstellen Sie zunächst ein komprimiertes Archiv unserer Testdatei durch Eingabe von:

gzip test-file

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

zgrep email test-file.gz

8. E-Mail-Adressen finden

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

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

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

9. Finden Sie Telefonnummern mit Grep

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

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. URLs aus Quelldateien finden

Wir können die Kraft von grep nutzen, um URLs in Textdateien aufzulisten. Der unten angegebene Befehl gibt alle URLs aus, die in der Testdatei .

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

Wir verwenden wieder die -UND Option für erweiterte reguläre Ausdrücke. Sie können auch die egrep Befehl, 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 mehrere nützliche Beispiele für den Linux-Befehl grep vorgestellt, um reale Probleme zu lösen. 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 sehr produktiv arbeiten möchten.

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

Teilen Teilen Tweet Email 7 Möglichkeiten, um Hilfe über die Befehlszeile unter Linux zu erhalten

Alle wichtigen Befehle zum Erlernen von Linux-Befehlen über die Befehlszeile

Weiter lesen
Verwandte Themen
  • Linux
  • Linux
  • Linux-Befehle
Über den Autor Rubaiat Hossain(39 veröffentlichte Artikel)

Rubaiat ist ein CS-Absolvent mit einer starken Leidenschaft für Open Source. Abgesehen davon, dass er ein Unix-Veteran ist, beschäftigt er sich auch mit Netzwerksicherheit, Kryptographie und funktionaler Programmierung. Er ist ein leidenschaftlicher Sammler gebrauchter Bücher und hat eine unendliche Bewunderung für klassischen Rock.

Mehr von Rubaiat Hossain

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

So laden Sie YouTube-Videos auf Ihr iPhone herunter
Klicken Sie hier, um zu abonnieren