grep ist ein leistungsstarkes Tool zur Suche nach Dateimustern, das in jeder Linux-Distribution vorinstalliert ist. Wenn Ihr System aus irgendeinem Grund nicht vorinstalliert ist, können Sie es einfach über den Paketmanager Ihres Systems installieren (apt-get auf Debian/Ubuntu-Systemen und yum auf RHEl/CentOS/Fedora-Systemen).
$ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep #RHEL/CentOS/Fedora
Ich finde, die Verwendung realer Beispiele aus der realen Welt bringt Sie involviert ist der einfachste Weg, an den grep-Befehl zu gelangen.
1. Dateien suchen und finden
Angenommen, Sie haben ein neues Ubuntu auf Ihrem Computer installiert und planen dann, Python zu deinstallieren. Sie durchsuchen das Internet nach Tutorials, stellen jedoch fest, dass zwei verschiedene Versionen von Python verwendet werden, und Sie wissen nicht, welche Version von Python Ihr Ubuntu-Installationsprogramm auf Ihrem System installiert hat und welche Module es installiert hat. Um dieses Problem zu lösen, führen Sie einfach den folgenden Befehl aus:
$ sudo dpkg -l |. 3-0ubuntu3.4 Interaktive objektorientierte Hochsprache (Version 2.7)
ii python2.7-minimal 2.7.3-0ubuntu3.4 Minimale Teilmenge der Python-Sprache (Version 2.7)
ii python-pam 0.4.2-12.2ubuntu4 Eine Python-Schnittstelle zur PAM-Bibliothek
Zuerst führen wir dpkg -l aus, um Sie aufzulisten .deb-Paket auf dem System installiert. Als nächstes verwenden wir eine Pipeline, um die Ausgabeergebnisse an den Befehl grep -ipython zu übertragen. Dieser Schritt kann einfach so erklärt werden, als würden wir die Ergebnisse an grep übertragen und dann alle Elemente herausfiltern, die Python enthalten, und die Ergebnisse zurückgeben. Die Option -i wird verwendet, um die Groß-/Kleinschreibung zu ignorieren, da bei grep die Groß-/Kleinschreibung beachtet wird. Es empfiehlt sich, die Option -i zu verwenden, es sei denn, Sie planen eine detailliertere Suche.
2. Dateien suchen und filtern
Die Option -v dient dazu, den grep-Befehl anzugeben invertieren Sie die Ausgabe, d. h., dass keine übereinstimmenden Elemente ausgegeben werden, machen Sie das Gegenteil und geben Sie alle nicht übereinstimmenden Elemente aus. In diesem Beispiel sind die Zeilen mit # Kommentarzeilen (Anmerkung: Tatsächlich ist dieser Befehl nicht korrekt, und die Zeilen, die „#“ enthalten, sind nicht alle Kommentarzeilen. Informationen zur genauen Zuordnung der Kommentarzeilen finden Sie hier reguläre Ausdrücke).
3. Alle MP3-Dateien finden
In diesem Beispiel verwenden wir den Befehl „find“, um alle Dateien mit dem Suffix .mp3 auszudrucken, leiten sie dann an grep -i weiter, um die Dateien mit dem Namen „JayZ“ zu filtern und auszudrucken, und leiten sie dann an grep weiter – vi zum Herausfiltern von Elementen, die „remix“ enthalten
35 praktische Beispiele für den Befehl „find“ unter Linux
4. Zeigen Sie die Zeilennummer vor oder nach der Suchzeichenfolge an
5. Zeilennummern um die übereinstimmende Zeichenfolge drucken
Die Option -C des grep-Befehls ist der in Beispiel 4 sehr ähnlich, aber Die Zeilen vor oder nach der übereinstimmenden Zeichenfolge werden nicht gedruckt. Stattdessen werden Zeilen ausgegeben, die in beide Richtungen übereinstimmen (Anmerkung: Gleich wie der Speichertrick oben: -C=center, zentriert darauf): $ sudo ifconfig -C 2 lo
6. Anzahl der Übereinstimmungen berechnen
Diese Funktion ähnelt der Weiterleitung der Ausgabe von grep an den Zähler (wc-Programm). Die integrierte Option von grep kann den gleichen Zweck erreichen:
$ sudo ifconfig | Wenn ein Kompilierungsfehler auftritt, ist die Option -n des Befehls grep eine sehr nützliche Funktion. Sie kann Ihnen sagen, in welcher Zeile der Datei Sie suchen:
8. In allen Verzeichnissen Rekursive Suche in
Wenn Sie im aktuellen Ordner nach einer Zeichenfolge suchen möchten und es viele Unterverzeichnisse im aktuellen Ordner gibt, können Sie die Option -r angeben, um die rekursive Suche zu erleichtern: $ sudo grep -r "function" *
9. Führen Sie eine Suche mit exakter Übereinstimmung durch
Übergeben Sie die Option -w an den grep-Befehl, um eine Suche mit exakter Übereinstimmung in der Zeichenfolge durchzuführen (Anmerkung: Enthält das zu suchende Wort, keine Platzhalter). Wenn Sie beispielsweise Folgendes eingeben:
$ sudo ifconfig |. Darüber hinaus können Sie auch Folgendes versuchen:
Bei der Suche nach dieser Übereinstimmung, wenn es keinen solchen separaten Suchbegriff gibt Worte, es wird nichts zurückgegeben.
11 Im file Passende reguläre Ausdrücke
Dies ist nur der Anfang des grep-Befehls , Sie haben vielleicht bemerkt, dass es für die Umsetzung einer Vielzahl von Anforderungen äußerst nützlich ist. Zusätzlich zu dem einzeiligen Befehl, den wir ausführen, kann grep auch als Cron-Task oder als automatisches Shell-Skript zur Ausführung geschrieben werden. Seien Sie neugierig, experimentieren Sie mit den Optionen auf der Manpage und schreiben Sie einige Grep-Ausdrücke für Ihre Zwecke.