20 Linux EGREP -Befehlsbeispiele
- 1033
- 7
- Madleen Vater
Brief: In diesem Leitfaden werden wir einige der praktischen Beispiele des EGREP -Befehls diskutieren. Nach diesem Handbuch können Benutzer in Linux eine effizientere Suchen von Text durchführen.
Waren Sie jemals frustriert, weil Sie die erforderlichen Informationen in den Protokollen nicht finden können? Das Extrahieren der erforderlichen Informationen aus einem großen Datensatz ist eine komplexe und zeitaufwändige Aufgabe.
Die Dinge werden sehr schwierig, wenn das Betriebssystem nicht die richtigen Werkzeuge bietet, und hier kommt Linux, um Sie zu retten. Linux bietet verschiedene Textfilterprodukte wie awk, sed, schneiden, usw.
EGREP ist jedoch eines der leistungsstärksten und am häufigsten verwendeten Dienstprogramme für die Textverarbeitung unter Linux, und wir werden einige Beispiele der Egrep Befehl.
Der Egrep Der Befehl in Linux wird von der Familie des GREP -Befehls erkannt, der zum Suchen und Abzug eines bestimmten Musters in Dateien verwendet wird. Es funktioniert ähnlich wie grep -e (Grep Extended Regex), aber es sucht meistens eine bestimmte Datei oder sogar Zeilen in Zeile oder druckt die Zeile in der angegebenen Datei.
Die Syntax der Egrep Der Befehl ist wie folgt:
$ eGrep [Optionen] Muster [Dateien]
Erstellen wir eine Beispieltextdatei mit dem folgenden Inhalt, um ein Beispiel zu verwenden:
$ CAT -Probe.txtBeispieltextdatei
Hier können wir sehen, dass die Textdatei fertig ist. Lassen Sie uns nun einige gemeinsame Beispiele diskutieren, die täglich verwendet werden können.
1. So finden Sie ein Muster in einer einzelnen Datei
Beginnen wir mit einem einfachen Muster-Matching-Beispiel, bei dem wir den folgenden Befehl verwenden können, um nach einer Zeichenfolge zu suchen Fachmann
in einem Probe.txt Datei:
$ eGrep -Profis Stichprobe.txtSuche nach Zeichenfolge in der Datei
Hier können wir sehen, dass der Befehl die Zeile druckt, die das angegebene Muster enthält.
2. Wie man übereinstimmte Muster in der Datei hervorhebt
Wir können die Ausgabe informativer machen, indem wir das übereinstimmende Muster hervorheben. Um dies zu erreichen, können wir die verwenden --Farbe
Option der Egrep Befehl. Zum Beispiel wird der folgende Befehl den Text hervorheben Profis
in roter Farbe:
$ EGREP -CORGOR = Auto Professionals Probe.txtHeben Sie den Text in der Datei hervor
Hier können wir sehen, dass die gleiche Ausgabe im Vergleich zum vorherigen informativer ist. Außerdem können wir leicht erkennen, dass das Wort Profis
wird zweimal wiederholt.
Bei den meisten Linux -Systemen wird die obige Einstellung standardmäßig unter Verwendung des folgenden Alias aktiviert:
$ alias eGrep = "EGREP -Color = auto"
3. So finden Sie ein Muster in mehreren Dateien
Der Egrep Der Befehl akzeptiert mehrere Dateien als Argument, mit denen wir in mehreren Dateien nach einem bestimmten Muster suchen können. Lassen Sie uns dies mit einem Beispiel verstehen.
Erstellen Sie zunächst eine Kopie der Probe.txt Datei:
$ cp sample.TXT-Probenkopie.txt
Suchen Sie nun das Muster Profis
In beiden Dateien:
$ eGrep -Profis Stichprobe.TXT-Probenkopie.txtSuchen Sie in mehreren Dateien nach Zeichenfolge
Im obigen Beispiel können wir den Dateinamen in der Ausgabe sehen, die die übereinstimmende Zeile aus dieser Datei darstellt.
4. So zählen Sie übereinstimmende Zeilen in der Datei
Manchmal müssen wir nur herausfinden, ob das Muster in der Datei vorhanden ist oder nicht. Wenn ja, dann wie viele Linien ist es gegenwärtig? In solchen Fällen können wir die verwenden -C
Option des Befehls.
Zum Beispiel wird der folgende Befehl angezeigt 1 als Ausgabe, weil das Wort Profis
ist in nur einer Zeile vorhanden.
$ eGREP -C -Profis Beispiel.txt 1
5. So drucken Sie nur übereinstimmende Zeilen in der Datei
Im vorherigen Beispiel haben wir das gesehen -C
Die Option zählt nicht die Anzahl der Vorkommen des Musters. Zum Beispiel das Wort Profis
erscheint zweimal in derselben Zeile, aber der -C
Option behandelt es nur als einzelne Spiel.
In solchen Fällen können wir die verwenden -Ö
Option des Befehls, um nur das übereinstimmende Muster zu drucken. Zum Beispiel wird der folgende Befehl das Wort angezeigt Profis
auf zwei separaten Zeilen:
$ eGrep -o Profis Beispiel.txt
Zählen wir nun die Zeilen mit dem WC -Befehl:
$ eGrep -o Profis Beispiel.txt | WC -lDrucken Sie übereinstimmte Zeilen in der Datei aus
Im obigen Beispiel haben wir die Kombination von verwendet Egrep Und Toilette Befehle, um die Anzahl der Vorkommen des jeweiligen Musters zu zählen.
6. So finden Sie ein Muster, indem Sie den Fall ignorieren
Standardmäßig, Egrep führt Musteranpassungen auf Fallsensitive durch. Es bedeutet Worte - wir, wir, wir und wir werden als unterschiedliche Wörter behandelt. Wir können jedoch die von Fall unempfindliche Suche mit der durchsetzen -ich
Möglichkeit.
Zum Beispiel gelingt es im folgenden Befehlsmuster, dass der Text für den Text erfolgreich ist Wir
Und Wir
:
$ eGrep -I Ich probieren wir.txtSuchkoffer unempfindlicher Zeichenfolge
7. Wie man teilweise übereinstimmende Muster ausschließt
Im vorherigen Beispiel haben wir das gesehen Egrep Der Befehl führt eine teilweise Übereinstimmung durch. Zum Beispiel, wenn wir nach dem Text gesucht haben Wir
dann gelang es auch für andere Texte, dass das Muster -Matching auch für andere Texte gelungen ist. Wie Web, Website und waren.
Um diese Einschränkung zu überwinden, können wir das -w
Option, die das gesamte Wort Matching erzwingt.
$ eGrep -W wir probieren.txtDrucken Sie nur übereinstimmende Muster in der Datei
8. Wie man das Muster -Matching in der Datei invertiert
Bisher haben wir die benutzt Egrep Befehl zum Drucken der Zeilen, in denen das angegebene Muster vorhanden ist. Manchmal wollen wir die Operation jedoch entgegengesetzt durchführen.
Zum Beispiel möchten wir möglicherweise die Zeilen drucken, in denen das angegebene Muster nicht vorhanden ist. Wir können dies mit Hilfe der erreichen -v
Möglichkeit:
$ eGrep -v wir probieren.txtInvert -Muster -Matching in der Datei
Hier können wir sehen, dass der Befehl die gesamte Zeile druckt, die den Text nicht enthält Wir
.
9. So finden Sie die Zeilennummer des Musters
Wir können die verwenden -N
Option des Befehls, um die Zeilennummerierung zu aktivieren, die die Zeilennummer in der Ausgabe anzeigt, wenn das Musterabgleich erfolgreich ist. Dieser einfache Trick macht die Ausgabe bedeutungsvoller.
$ eGrep -n Profis Beispiel.txtDrucklinie Anzahl der übereinstimmten Muster
In der obigen Ausgabe können wir sehen, dass das Wort Profis
ist in der vorhanden 5 Linie.
10. So führen Sie Muster -Matching im ruhigen Modus durch
Im ruhigen Modus die Egrep Der Befehl druckt das übereinstimmende Muster nicht aus. Daher müssen wir den Rückgabewert des Befehls verwenden, um festzustellen, ob ein Musterabgleich erfolgreich ist oder nicht.
Wir können die verwenden -Q
Option des Befehls, um den ruhigen Modus zu aktivieren, der beim Schreiben von Shell -Skripten nützlich ist.
$ eGrep -q Profis Beispiel.TXT $ EGREP -q Nicht existierende Musterprobe.txtSuchmuster im ruhigen Modus abgestimmt
In diesem Beispiel die null Der Rückgabewert gibt das Vorhandensein des Musters an, während der Wert ungleich Null das Fehlen des Musters angibt.
11. So zeigen Sie Zeilen vor dem Muster an
Manchmal ist es sinnvoll, ein paar Zeilen um das übereinstimmende Muster zu zeigen. Für solche Szenarien können wir die verwenden -B
Option des Befehls, der angezeigt wird N Linien vor dem übereinstimmenden Muster.
Zum Beispiel druckt der folgende Befehl die Zeile, für die das Muster -Übereinstimmung erfolgreich ist, sowie 2 Zeilen davor.
$ eGrep -b 2 -n Profis Beispiel.txtDrucklinien vor dem Muster übereinstimmen
In diesem Beispiel haben wir die verwendet -N
Option zum Anzeigen von Zeilennummern.
12. So zeigen Sie Zeilen nach dem Musterübereinstimmung an
In ähnlicher Weise können wir die verwenden -A
Option des Befehls zum Anzeigen von Zeilen nach dem Muster -Übereinstimmung. Zum Beispiel druckt der folgende Befehl die Zeile, für die das Muster -Übereinstimmung erfolgreich ist, sowie die nächsten 2 Zeilen.
$ eGrep -a 2 -n -Profis Beispiel.txtDrucken Zeilen nach dem Musterübereinstimmung
13. So zeigen Sie Linien rund um das Musterübereinstimmung an
Zusätzlich dazu die Egrep Befehl unterstützt die -C
Option, die die Funktionalität der Optionen kombiniert -A
Und -B
, Dies zeigt die Zeilen vor und nach dem übereinstimmenden Muster an.
$ eGrep -c 2 -n Profis Beispiel.txtDrucken Linien rund um Muster Match
14. So finden Sie ein Muster in mehreren Dateien rekursiv
Wie bereits erwähnt, können wir Muster -Matching in mehreren Dateien durchführen. Die Situation wird jedoch schwierig, wenn Dateien unter mehreren Unterverzeichnissen vorhanden sind und wir alle als Befehlsargumente übergeben.
In solchen Fällen können wir das Musteranpassung auf rekursive Weise mit dem durchführen -R
Option wie im folgenden Beispiel gezeigt.
Erstellen Sie zunächst 2 Unterverzeichnisse und kopieren Sie die Probe.txt Datei in sie:
$ mkdir -p DIR1/DIR2 $ CP -Probe.TXT DIR1/ $ CP -Probe.TXT DIR1/DIR2/
Lassen Sie uns nun die Suchoperation rekursiv ausführen:
$ eGrep -r Profis Dir1Suchzeichenfolge in Dateien rekursiv
Im obigen Beispiel können wir sehen, dass das Muster -Match für die gelungen ist DIR1/DIR2/Probe.txt Und Dir1/Probe.txt Dateien.
15. Wie man ein einzelnes Zeichen mit reguläre Ausdrücke entspricht
Wir können einen Punkt verwenden (.)
Charakter, der mit einem einzelnen Zeichen mit Ausnahme des Ende der Linie übereinstimmt. Zum Beispiel entspricht der folgende reguläre Ausdruck dem Text HAR, Hut und hat:
$ eGrep "ha." Probe.txtPassen Sie ein einzelnes Zeichen in der Datei an
16. Wie man Null oder mehr Ereignisse des Charakters entspricht
Wir können den Sternchen verwenden (*)
mit Null oder mehr Vorkommen des vorherigen Charakters zu entsprechen. Zum Beispiel entspricht der folgende reguläre Ausdruck den Text, der eine Zeichenfolge enthält Wir
gefolgt von null oder mehr Ereignissen des Charakters B
.
$ eGrep "Web*" Beispiel.txtStimmen Sie die Zeichenfolge in Textdatei überein
17. Wie man ein oder mehrere Vorkommen des vorherigen Charakters entspricht
Wir können das Plus verwenden (+)
Ein oder mehrere Vorkommen des vorherigen Charakters zu entsprechen. Zum Beispiel entspricht der folgende reguläre Ausdruck dem Text, der die Zeichenfolge enthält Wir
gefolgt von mindestens einem Vorkommen des Charakters B
.
$ eGrep "Web+" Beispiel.txtÜbereinstimmung Zeichenfolge nach Zeichen in der Datei
Hier können wir sehen, dass das Muster -Matching für die Wörter nicht erfolgreich ist - Wir
Und war
, fälliges Fehlen des Charakters B
.
18. Wie man den Beginn der Linie entspricht
Wir können die Pflege benutzen (^)
den Beginn der Linie darstellen. Zum Beispiel druckt der folgende reguläre Ausdruck die Zeilen, die mit dem Text beginnen Wir
:
$ eGrep "^We" Probe.txtDrucken Sie den übereinstimmten Text mit Startzeile aus
19. Wie man zum Ende der Linie passt
Wir können den Dollar verwenden ($)
das Ende der Linie darstellen. Zum Beispiel druckt der folgende reguläre Ausdruck die Zeilen, die mit dem Text enden e.
:
$ eGrep "e.$ "Probe.txtDrucken Sie den übereinstimmten Text mit Endzeile aus
20. So entfernen Sie leere Zeilen in der Datei
Wir können die Pflege benutzen (^)
unmittelbar gefolgt vom Dollar ($)
die leere Linie darstellen. Verwenden wir dies in einem regulären Ausdruck, um leere Linien zu entfernen:
$ eGrep -n -v "^$" Beispiel.txtEntfernen Sie leere Zeilen in der Datei
In der obigen Ausgabe können wir sehen, dass die Liniennummern 2, 4, 6, 8 und 10 nicht angezeigt werden, da sie leer sind.
Abschluss
In diesem Artikel haben wir einige nützliche Beispiele für das erörtert Egrep Befehle. Man kann diese Beispiele im täglichen Leben nutzen, um die Produktivität zu verbessern.
Kennen Sie ein anderes bestes Beispiel des EGREP -Befehls in Linux?? Lassen Sie uns Ihre Ansichten in den Kommentaren unten wissen.
- « Verboten - Sie haben keine Erlaubnis zum Zugriff auf / auf diesem Server Fehler
- So installieren und konfigurieren Sie grundlegende Opnsense -Firewall »