20 Linux EGREP -Befehlsbeispiele

20 Linux EGREP -Befehlsbeispiele

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.txt 
Beispieltextdatei

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.txt 
Suche 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.txt 
Heben 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.txt 
Suchen 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 -l 
Drucken 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.txt 
Suchkoffer 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.txt 
Drucken 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.txt 
Invert -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.txt 
Drucklinie 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.txt 
Suchmuster 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.txt 
Drucklinien 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.txt 
Drucken 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.txt 
Drucken 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 Dir1 
Suchzeichenfolge 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.txt 
Passen 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.txt 
Stimmen 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.txt 
Drucken 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.txt 
Drucken 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.txt 
Entfernen 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.