grep-Befehl unter Unix/Linux

grep-Befehl unter Unix/Linux

Der grep> Der Befehl unter Unix/Linux ist ein leistungsstarkes Tool zum Suchen und Bearbeiten von Textmustern in Dateien. Sein Name leitet sich vom ed-Befehl (Editor) g/re/p (global nach einem regulären Ausdruck suchen und übereinstimmende Zeilen drucken) ab, was seine Kernfunktionalität widerspiegelt. grep> wird aufgrund seiner Effizienz und Vielseitigkeit bei der Verarbeitung von Textdaten häufig von Programmierern, Systemadministratoren und Benutzern verwendet. In diesem Artikel werden wir die verschiedenen Aspekte des untersuchen grep> Befehl.

Inhaltsverzeichnis

Syntax des grep-Befehls unter Unix/Linux

Die grundlegende Syntax der ` grep`> Der Befehl lautet wie folgt:

  grep [options] pattern [files] 

Hier,

[> options> ]> : Dies sind Befehlszeilenflags, die das Verhalten von ändern grep> .

[> pattern> ]> : Dies ist der reguläre Ausdruck, nach dem Sie suchen möchten.

[> file> ]> : Dies ist der Name der Datei(en), in der/denen Sie suchen möchten. Sie können mehrere Dateien für die gleichzeitige Suche angeben.

Verfügbare Optionen im grep-Befehl

Optionen

Beschreibung

-C

Dadurch wird nur die Anzahl der Zeilen gedruckt, die einem Muster entsprechen

-H

Zeigt die übereinstimmenden Zeilen an, zeigt jedoch nicht die Dateinamen an.

ich

Ignoriert, Fall für Übereinstimmung

-l

Zeigt nur eine Liste mit Dateinamen an.

-N

Zeigen Sie die übereinstimmenden Zeilen und ihre Zeilennummern an.

-In

Dadurch werden alle Zeilen ausgedruckt, die nicht mit dem Muster übereinstimmen

-e exp

Gibt den Ausdruck mit dieser Option an. Kann mehrfach verwendet werden.

-f-Datei

Übernimmt Muster aus einer Datei, eines pro Zeile.

-UND

Behandelt Muster als erweiterten regulären Ausdruck (ERE)

-In

Ganzes Wort zuordnen

Drucken Sie nur die übereinstimmenden Teile einer übereinstimmenden Zeile, wobei jeder dieser Teile in einer separaten Ausgabezeile steht.

-Ein

Gibt die gesuchte Zeile und die gesuchten Zeilen nach dem Ergebnis aus.

-B n

Gibt die gesuchte Zeile und n Zeile vor dem Ergebnis aus.

-C n

Gibt die gesuchte Zeile und n Zeilen danach vor dem Ergebnis aus.

Beispielbefehle

Betrachten Sie die folgende Datei als Eingabe.

cat>geekfile.txt 

Unix ist ein tolles Betriebssystem. Unix wurde in den Bell-Labors entwickelt.

Betriebssystem lernen.

Unix Linux, welches Sie wählen.

uNix ist leicht zu erlernen. Unix ist ein Mehrbenutzer-Betriebssystem. Lernen Sie Unix. Unix ist ein leistungsstarkes.

Praktisches Beispiel für den grep-Befehl unter Linux

Die Option -i ermöglicht die Suche nach einer Zeichenfolge ohne Berücksichtigung der Groß-/Kleinschreibung in der angegebenen Datei. Es entspricht den Wörtern UNIX, Unix, Unix.

grep -i 'UNix' geekfile.txt 

Ausgabe:

Suche ohne Berücksichtigung der Groß-/Kleinschreibung

Suche ohne Berücksichtigung der Groß-/Kleinschreibung

2. Anzeige der Anzahl der Übereinstimmungen mit grep

Wir können die Anzahl der Zeilen ermitteln, die der angegebenen Zeichenfolge/dem angegebenen Muster entsprechen

grep -c 'unix' geekfile.txt 

Ausgabe:

Anzeige der Anzahl der Übereinstimmungen

Anzeige der Anzahl der Übereinstimmungen

3. Zeigen Sie mit grep die Dateinamen an, die dem Muster entsprechen

Wir können einfach die Dateien anzeigen, die die angegebene Zeichenfolge/das angegebene Muster enthalten.

grep -l 'unix' * 

oder

grep -l 'unix' f1.txt f2.txt f3.xt f4.txt 

Ausgabe:

Der Dateiname, der dem Muster entspricht

Der Dateiname, der dem Muster entspricht

4. Mit grep nach ganzen Wörtern in einer Datei suchen

Standardmäßig stimmt grep mit der angegebenen Zeichenfolge bzw. dem angegebenen Muster überein, auch wenn diese als Teilzeichenfolge in einer Datei gefunden wird. Die Option -w für grep sorgt dafür, dass nur ganze Wörter gefunden werden.

grep -w 'unix' geekfile.txt 

Ausgabe:

Überprüfen ganzer Wörter in einer Datei

Überprüfen ganzer Wörter in einer Datei

5. Nur das übereinstimmende Muster anzeigen Mit grep

Standardmäßig zeigt grep die gesamte Zeile an, die die übereinstimmende Zeichenfolge enthält. Mit der Option -o können wir dafür sorgen, dass grep nur die übereinstimmende Zeichenfolge anzeigt.

grep -o 'unix' geekfile.txt 

Ausgabe:

Es wird nur das übereinstimmende Muster angezeigt

Es wird nur das übereinstimmende Muster angezeigt

6. Zeigen Sie die Zeilennummer beim Anzeigen der Ausgabe mit grep -n an

Zeigt die Zeilennummer der Datei mit der übereinstimmenden Zeile an.

grep -n 'unix' geekfile.txt 

Ausgabe:

Zeilennummer anzeigen, während die Ausgabe angezeigt wird

Zeilennummer anzeigen, während die Ausgabe angezeigt wird

7. Invertieren des Mustervergleichs mit grep

Mit der Option -v können Sie die Zeilen anzeigen, die nicht mit dem angegebenen Suchzeichenfolgenmuster übereinstimmen.

grep -v 'unix' geekfile.txt 

Ausgabe:

Umkehren der Musterübereinstimmung

Umkehren der Musterübereinstimmung

8. Anpassen der Zeilen, die mit einer Zeichenfolge beginnen, mithilfe von grep

Das reguläre Ausdrucksmuster ^ gibt den Anfang einer Zeile an. Dies kann in grep verwendet werden, um die Zeilen abzugleichen, die mit der angegebenen Zeichenfolge oder dem angegebenen Muster beginnen.

grep '^unix' geekfile.txt 

Ausgabe:

Passende Zeilen, die mit einer Zeichenfolge beginnen

Passende Zeilen, die mit einer Zeichenfolge beginnen

9. Anpassen der Zeilen, die mit einer Zeichenfolge enden, mithilfe von grep

Das reguläre Ausdrucksmuster $ gibt das Ende einer Zeile an. Dies kann in grep verwendet werden, um die Zeilen abzugleichen, die mit der angegebenen Zeichenfolge oder dem angegebenen Muster enden.

grep 'os$' geekfile.txt 

10.Spezifiziert den Ausdruck mit der Option -e

Kann mehrfach verwendet werden:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt 

11. Dateioption -f Nimmt Muster aus der Datei, eines pro Zeile

cat pattern.txt 

Agarwal
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt 

12. Drucken Sie n bestimmte Zeilen aus einer Datei mit grep

-A gibt die gesuchte Zeile und n Zeilen nach dem Ergebnis aus, -B gibt die gesuchte Zeile und n Zeilen vor dem Ergebnis aus und -C gibt die gesuchte Zeile und n Zeilen nach und vor dem Ergebnis aus.

Syntax:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file] 

Beispiel:

grep -A1 learn geekfile.txt 

Ausgabe:

Drucken Sie n bestimmte Zeilen aus einer Datei

Drucken Sie n bestimmte Zeilen aus einer Datei

13. Suchen Sie rekursiv nach einem Muster im D Verzeichnis

-R Gibt das gesuchte Muster im angegebenen Verzeichnis rekursiv in allen Dateien aus.

Syntax:

grep -R [Search] [directory] 

Beispiel :

grep -iR geeks /home/geeks 

Ausgabe:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory. 

Abschluss

In diesem Artikel haben wir das besprochen grep> Befehl unter Linux, ein leistungsstarkes Textsuchtool, das reguläre Ausdrücke verwendet, um Muster oder Text in Dateien zu finden. Es bietet verschiedene Optionen wie die Berücksichtigung der Groß- und Kleinschreibung, das Zählen von Übereinstimmungen und das Auflisten von Dateinamen. Mit der Möglichkeit, rekursiv zu suchen, Flags für reguläre Ausdrücke zu verwenden und die Ausgabe anzupassen, grep> ist ein wichtiges Werkzeug für Linux-Benutzer, um textbezogene Aufgaben effizient zu erledigen. Beherrschen grep> verbessert Ihre Fähigkeit, mit Textdaten in der Linux-Umgebung zu arbeiten.