Der Befehl grep wird verwendet, um in einer Textdatei nach Zeichenfolgen zu suchen. Hier sind zehn Beispiele für grep, die Sie möglicherweise hilfreich finden.
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.
Katze <> Testdatei
Dies ist eine einfache Textdatei, die enthält
mehrere Zeichenfolgen sowie einige Telefonnummern
(555) 555-1234 (567) 666-2345
und E-Mail plus Webadressen
[email protected]
https://google.com
ftp://mywebserver.com
ENDE
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" Testdatei
Dieser Befehl zeigt die Zeile in unserem an Testdatei das enthält das Wort Email. Sie können denselben Text auch mit grep in mehreren Dateien durchsuchen.
grep "Beispiel" / usr / share / dict / amerikanisch-englisch / usr / share / dict / britisch-englisch
Der obige Befehl zeigt alle Instanzen des Wortes an Beispiel in dem amerikanisches Englisch und Britisches Englisch Wörterbuchdateien.
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" Testdatei
Das -w 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.
Verbunden: 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 "diese" Testdatei
Verwenden Sie die -ich oder --Fall ignorieren Option zum Ausschalten der Groß- / Kleinschreibung.
4. Zählen Sie die Anzahl der Muster
Das -c Flagge steht für Anzahl. 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 pfeifen der Befehl ps 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 an MP3 Dateien in einem Verzeichnis vorhanden.
ls ~ / Musik | grep -c .mp3
5. Zeilennummern mit Übereinstimmungen anzeigen
Möglicherweise möchten Sie die Zeilennummern finden, 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 für Debuggen von Quellcodes und Fehlerbehebung bei Protokolldateien. Um alle Zahlen für Zeilen in der anzuzeigen ~ / .vimrc die verwendet werden für Konfigurieren des Vim-Texteditors:
grep -n "set" ~ / .vimrc
6. Suchen von Dateinamen mithilfe von Erweiterungen
Um eine Liste aller zu erhalten MP3 Dateien in der ~ / Musik Verzeichnis:
ls ~ / Musik / | grep ".mp3"
Sie können ersetzen .mp3 mit anderen Erweiterungen zum Auffinden bestimmter Dateien. Der folgende Befehl listet alle auf php Dateien im aktuellen Arbeitsverzeichnis vorhanden.
ls | grep ".php"
7. Suchen Sie nach Mustern in komprimierten Dateien
Der Linux-Befehl grep kann auch Muster in komprimierten Dateien finden. Sie müssen die verwenden zgrep Befehl dafür jedoch. Erstellen Sie zunächst ein komprimiertes Archiv unserer Testdatei durch Eingabe von:
gzip Testdatei
Jetzt können Sie im resultierenden Archiv nach Text oder anderen Mustern suchen.
zgrep email test-file.gz
8. E-Mail-Adressen suchen
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] \ + \. [a-z] \ {2, \}' Testdatei
Sie können reguläre Ausdrücke für ähnliche Aufgaben finden oder sie selbst erstellen, wenn Sie wissen, wie sie funktionieren.
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 \} 'Testdatei
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 im Testdatei.
grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "Testdatei
Wir benutzen wieder die -E Option für erweiterte reguläre Ausdrücke. Sie können auch die verwenden egrep Befehl, um das Hinzufügen zu vermeiden.
egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" Test -Datei
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.
Alle wichtigen Befehle zum Erlernen von Linux-Befehlen über die Befehlszeile
Weiter lesen
- Linux
- Linux
- Linux-Befehle
Rubaiat ist ein CS-Absolvent mit einer starken Leidenschaft für Open Source. Er ist nicht nur ein Unix-Veteran, sondern beschäftigt sich auch mit Netzwerksicherheit, Kryptografie und funktionaler Programmierung. Er ist ein begeisterter Sammler gebrauchter Bücher und hat eine unendliche Bewunderung für klassischen Rock.
Abonniere unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.