Beispiel 1: Suche nach einer bestimmten Zeichenfolge in einer Datei
Dies ist die häufigste Verwendung des EGREP -Befehls. Was Sie tun, ist, dass Sie eine Zeichenfolge angeben, nach der Sie suchen möchten, und den Dateinamen, den Sie in dieser Zeichenfolge nachschlagen möchten. Das Ergebnis zeigt dann die gesamte Zeile an, die die durchsuchte Zeichenfolge enthält.
Syntax:
$ eGrep "Search_String" Dateiname
Beispiel:
$ eGrep Debian Samplefile.txt
In diesem Beispiel habe ich in der angegebenen Textdatei nach dem Wort "Debian" gesucht. Sie können sehen, wie die Ergebnisse die gesamte Zeile anzeigen, die das Wort „Debian“ enthält:
Beispiel 2: Suche nach einer bestimmten Zeichenfolge in mehreren Dateien
Mit dem Befehl eGrep können Sie nach einem Zeichenfolge zwischen mehreren Dateien suchen, die sich im selben Verzeichnis befinden. Sie müssen nur ein wenig genauer sein, um ein „Muster“ für die durchsuchten Dateien bereitzustellen. Dies wird mit dem Beispiel, das wir präsentieren werden, deutlicher.
Syntax:
$ eGrep "search_string" Dateiname_Pattern
Beispiel:
Hier werden wir in all dem nach dem Wort „Debian“ suchen .TXT -Dateien, indem das Dateiname -Muster wie folgt angegeben wird:
$ eGrep "Debian" *.txt
Der Befehl hat alle Zeilen zusammen mit den Dateinamen gedruckt, die das Wort „Debian“ von allen enthalten .TXT -Dateien im aktuellen Verzeichnis.
Beispiel 3: Rekursiv durch die Zeichenfolge im gesamten Verzeichnis durchsuchen
Wenn Sie in allen Dateien aus einem Verzeichnis und seinen Unterabrechnungen nach einer Zeichenfolge suchen möchten.
Syntax:
$ eGrep -r "search_string" *
Beispiel:
In diesem Beispiel suche ich nach dem Wort „Beispiel“ in den Dateien des gesamten aktuellen Verzeichnisses (Downloads).
$ eGrep -r "Beispiel" *
Die Ergebnisse enthalten alle Zeilen zusammen mit den Dateinamen, die das Wort „Beispiel“ aus allen Dateien im Download -Verzeichnis sowie der Sub -Verzeichnisse enthalten.
Beispiel 4: Durchführen einer von Fall unempfindlichen Suche
Mit dem Flag -i können Sie den Befehl eGrep verwenden, um die Ergebnisse basierend auf einer Suchzeichenfolge zu drucken, ohne sich um seinen Fall Sorgen machen zu müssen.
Syntax:
$ eGrep -i "Search_string" Dateiname
Beispiel:
Hier suche ich nach dem Wort "Debian" und möchte, dass die Ergebnisse alle Zeilen aus der Datei anzeigen, die das Wort "Debian" oder "Debian" unabhängig von ihrem Fall enthalten.
$ eGrep -i "Search_string" Dateiname
Sie können sehen, wie das Flag -i -Flag mir geholfen hat, alle Zeilen zu holen, die die Suchzeichenfolge durch eine Fall „unempfindlich“ enthalten.
Beispiel 5: Suche nach einer Zeichenfolge als volles Wort und nicht als Unterstring
Wenn Sie normalerweise über EGREP nach einer Zeichenfolge suchen, druckt sie alle Wörter, die die Zeichenfolge als Unterstring enthalten. Wenn Sie beispielsweise nach dem String „On“ nachschlagen. Wenn Sie möchten, dass die Ergebnisse nur das Wort „On“ als volles Wort und nicht als Unterstring anzeigen, können Sie das Flag -W -Flag mit EGREP verwenden.
Syntax:
$ eGrep -W "Search_String" Dateiname
Beispiel:
Hier suche ich in einer Beispieldatei nach dem Zeichenfolge „On“:
$ eGrep -i „on“ samplefile.txt
Sie können in der obigen Ausgabe sehen, dass es auch das Wort "nur" enthält. Dies ist jedoch nicht das, was ich möchte, da ich ausschließlich nach dem Wort „On“ suche. Dies ist also der Befehl, den ich stattdessen verwenden werde:
$ egrep -iw „on“ samplefile.txt
Jetzt enthalten meine Suchergebnisse nur die Zeilen, die das Wort „On“ als ganzes Wort enthalten.
Beispiel 6: Drucken nur die Dateinamen, die die Zeichenfolge enthalten
Manchmal möchten wir nur die Dateinamen abrufen, die eine bestimmte Zeichenfolge enthalten, anstatt die Zeilen zu drucken, die sie enthalten. Dies kann mit dem Flag -l (Kleinbuchstaben L) mit dem EGREP -Befehl erfolgen.
Syntax:
$ eGrep -l "Search_string" Dateiname_Pattern
Beispiel:
Hier suche ich nach der Zeichenfolge "Beispiel" in allen .TXT -Dateien im aktuellen Verzeichnis:
$ eGrep -l Beispiel *.txt
Die Suchergebnisse drucken nur den Namen der Dateien, die die angegebene Zeichenfolge enthalten.
Beispiel 7: Drucken nur die Suchzeichenfolge aus einer Datei
Anstatt die gesamte Zeile zu drucken, die die Suchzeichenfolge enthält, können Sie den Befehl EGREP verwenden, um die Zeichenfolge selbst zu drucken. Die Zeichenfolge wird so ausgedruckt, wie oft er in der angegebenen Datei angezeigt wird.
Syntax:
$ eGrep -o "Search_string" Dateiname
Beispiel:
In diesem Beispiel suche ich nach dem Wort "dies" in meiner Datei.
$ eGREP -O this sampleFile_.txt
Hinweis: Diese Verwendung des Befehls ist praktisch, wenn Sie nach einer Zeichenfolge suchen, die auf einem regulären Ausdrucksmuster basiert. Wir werden regelmäßige Ausdrücke in einem der kommenden Beispiele im Detail erläutern.
Beispiel 8: Anzeige der N -Anzahl der Zeilen vor, nach oder um die Suchzeichenfolge
Manchmal ist es sehr wichtig, den Kontext in einer Datei zu kennen, in der eine bestimmte Zeichenfolge verwendet wird. Der EGREP ist praktisch in dem Sinne, dass er verwendet werden kann, um die Zeile mit der Suchzeichenfolge und auch eine bestimmte Anzahl von Zeilen vor, nach und umzingeln.
Dies ist die Beispieltextdatei, die ich verwenden werde, um die kommenden Beispiele zu erläutern:
N Anzahl der Zeilen nach der Suchzeichenfolge:
Die Verwendung des A -Flags folgendermaßen zeigt die Zeile mit der Suchzeichenfolge und der n Anzahl der Zeilen nach dem IT an:
$ eGrep -a"Search_String" Dateiname
Beispiel:
$ eGrep -a 2 "Probe" Sample -Datei.txt
N Anzahl der Zeilen vor der Suchzeichenfolge:
Wenn Sie das B -Flag auf folgende Weise verwenden, wird die Zeile angezeigt, die die Suchzeichenfolge und die N -Anzahl der Zeilen enthält, bevor sie:
$ EGREP -B"Search_String" Dateiname
Beispiel:
$ eGREP -B 2 "Probe" Sample -Datei.txt
N Anzahl der Zeilen vor der Suchzeichenfolge:
Wenn Sie das C -Flag auf folgende Weise verwenden, werden die Zeile angezeigt, die die Suchzeichenfolge enthält, und die N -Anzahl der Zeilen vor und nach dem Verhältnis:
$ eGrep -c"Search_String" Dateiname
Beispiel:
$ eGrep -c 2 "Beispiel" Samplefile.txt
Beispiel 9: Übereinstimmung mit dem regulären Ausdruck in Dateien
Der Befehl eGrep wird leistungsfähiger, wenn Sie in einer Datei nach regelmäßigen Ausdrücken anstelle solider Suchzeichenfolge suchen.
Syntax:
$ eGrep "Regularexpressions" Dateiname
Lassen Sie uns erklären, wie Sie regelmäßige Ausdrücke in Ihrer EGREP -Suche verwenden können:
Wiederholungsoperator | Verwenden |
? | Der vorhergehende Element vor ? ist optional und ist maximal einmal übereinstimmt |
* | Der vorhergehende Element vor * wird mit Null oder mehrmals übereinstimmt |
+ | Der vorhergehende Element vor + wird ein oder mehrmals übereinstimmen |
N | Der vorhergehende Element ist genau mit der Anzahl der Male übereinstimmt. |
N, | Der vorhergehende Element wird n oder mehrmals abgestimmt |
,M | Der vorhergehende Element ist maximal m -mal übereinstimmt |
n, m | Der vorhergehende Gegenstand ist mindestens n -mal, aber nicht mehr als m -mal übereinstimmend |
Beispiel:
Im folgenden Beispiel werden die Zeilen, die den folgenden Ausdruck enthalten, übereinstimmend:
Beginnend mit "GNOME" und mit "Programmen" enden
Beispiel 10: Hervorhebung der Suchzeichenfolge
Wenn Sie die Variable der Grep_Options -Umgebung wie unten festlegen, erhalten Sie Ihre Ausgabe mit der in den Ergebnissen hervorgehobenen Suchzeichenfolge/Muster:
$ sudo exports grep_options = '-color = auto' grep_color = '100; 8'
Sie können dann in jeder Art und Weise, die wir in den Beispielen dieses Artikels beschrieben haben, nach der Zeichenfolge suchen.
Beispiel 11: Durchführung der Invert -Suche in einer Datei
Mit der Suche nach Invertierungen meinen wir, dass der Befehl eGrep alles in der Datei druckt, mit Ausnahme der Zeilen, die die Suchzeichenfolge enthalten. Wir werden die folgende Beispieldatei verwenden, um die Invert -Suche über EGREP zu erläutern. Wir haben den Inhalt der Datei mit dem CAT -Befehl gedruckt:
Syntax:
$ eGrep -v "Search_string" Dateiname
Beispiel:
Aus der von uns erwähnten Beispieldatei möchten wir die Zeile, die das Wort „zwei“ in der Ausgabe enthält, weglassen. Daher verwenden wir den folgenden Befehl:
$ eGrep -v "Two" SampleFile_.txt
Sie können sehen, wie die Ausgabe alles aus der Beispieldatei enthält, mit Ausnahme der zweiten Zeile, in der die Suchzeichenfolge „zwei“ enthält, enthält.
Beispiel 12: Durchführung der Invert -Suche basierend auf mehreren Kriterien/Suchmuster
Mit dem Flag -v können Sie auch den Befehl EGREP durchführen, um eine invertierte Suche basierend auf mehr als einem Suchzeichenfolge/Muster durchzuführen.
Wir werden dieselbe Beispieldatei verwenden, die wir in Beispiel 11 erwähnt haben, um dieses Szenario zu erklären.
Syntax:
$ eGrep -v -e "Search_string"/"Muster" -E "Search_string"/"Muster"
… Dateinamen
Beispiel:
Aus der von uns erwähnten Beispieldatei möchten wir die Zeile (en) mit den Wörtern „Eins“ und „zwei“ in der Ausgabe weglassen, daher verwenden wir den folgenden Befehl:
$ eGrep -v -e "eins" -E "zwei" SampleFile_.txt
Wir haben zwei Wörter mit dem Flag -e weggeliefert, daher wird die Ausgabe wie folgt angezeigt:
Beispiel 13: Drucken der Anzahl der Zeilen, die mit der Suchzeichenfolge übereinstimmen
Anstatt die durchsuchte Zeichenfolge aus der Datei oder den enthaltenden Zeilen zu drucken, können Sie den Befehl EGREP verwenden, um die Anzahl der gegen die Zeichenfolge übereinstimmenden Zeilen zu zählen und zu drucken. Diese Anzahl kann mit dem Flag -c -Flag mit dem EGREP -Befehl abgerufen werden.
Syntax:
$ eGrep -c "Search_String" Dateiname
Beispiel:
In diesem Beispiel werden wir das -C -Flag verwenden, um die Anzahl der Zeilen zu zählen, die das Wort „this“ in unserer Beispieldatei enthalten:
$ eGrep -c "this" Dateiname
Sie können auch die Invert -Suchfunktion hier verwenden, um die Anzahl der Zeilen zu zählen und zu drucken, die nicht die Suchzeichenfolge enthalten:
$ grep -v -c "Search_string" Dateiname
Beispiel 14: Anzeige der Zeilennummer, in der die Zeichenfolge übereinstimmt
Mit dem Flag -n können Sie den Befehl eGrep erstellen, um die übereinstimmende Zeile zusammen mit der Zeilennummer zu drucken, die die Suchzeichenfolge enthält.
Syntax:
$ grep -n "Search_string" Dateiname
Beispiel:
$ grep -n "this" sampleFile_.txt
Sie können sehen, wie die Zeilennummern gegen die Suchergebnisse angezeigt werden.
Beispiel 15: Anzeige der Position in der Datei, in der die Suchzeichenfolge übereinstimmt
Wenn Sie die Position in der Datei wissen möchten, in der die Suchzeichenfolge existiert, können Sie das -B -Flag mit dem Befehl EGREP verwenden.
$ grep -o -b "Search_string" Dateiname
Beispiel:
$ grep -o -b "this” sampleFile_.txt
Die Suchergebnisse drucken den Byte -Offset der Datei, in der das Suchwort existiert.Dies war eine detaillierte Verwendung des EGREP -Befehls. Durch die Verwendung einer Kombination der in diesem Artikel erläuterten Flags können Sie aussagekräftigere und komplexere Suchanfragen auf Ihren Dateien durchführen.