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
- Verfügbare Optionen im grep-Befehl
- Praktisches Beispiel für den grep-Befehl unter Linux
- 1. Suche ohne Berücksichtigung der Groß-/Kleinschreibung
- 2. Anzeige der Anzahl der Übereinstimmungen mit grep
- 3. Zeigen Sie mit grep die Dateinamen an, die dem Muster entsprechen
- 4. Mit grep nach ganzen Wörtern in einer Datei suchen
- 5. Nur das übereinstimmende Muster anzeigen Mit grep
- 6. Zeigen Sie die Zeilennummer beim Anzeigen der Ausgabe mit grep -n an
- 7. Invertieren des Mustervergleichs mit grep
- 8. Anpassen der Zeilen, die mit einer Zeichenfolge beginnen, mithilfe von grep
- 9. Anpassen der Zeilen, die mit einer Zeichenfolge enden, mithilfe von grep
- 10.Spezifiziert den Ausdruck mit der Option -e
- 11. Dateioption -f Nimmt Muster aus der Datei, eines pro Zeile
- 12. Drucken Sie n bestimmte Zeilen aus einer Datei mit grep
- 13. Suchen Sie rekursiv nach einem Muster im Verzeichnis
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
1. Suche ohne Berücksichtigung der Groß-/Kleinschreibung
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
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
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
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
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
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
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
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
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
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.