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 erhaltenAlle wichtigen Befehle zum Erlernen von Linux-Befehlen über die Befehlszeile
Weiter lesen Verwandte Themen- Linux
- Linux
- Linux-Befehle
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 HossainAbonniere 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 herunterKlicken Sie hier, um zu abonnieren