grep (globale Suche nach regulären Ausdrücken (RE) und Ausdrucken der Zeile, umfassende Suche nach regulären Ausdrücken und Ausdrucken der Zeile) ist ein leistungsstarkes Textsuchwerkzeug, das reguläre Ausdrücke verwenden kann, um Text zu durchsuchen und passende Zeilen auszudrucken . Die Unix-Grep-Familie umfasst grep, egrep und fgrep. Die Befehle egrep und fgrep unterscheiden sich nur geringfügig von grep. egrep ist eine Erweiterung von grep, die mehr re-Metazeichen unterstützt. fgrep ist festes grep oder fast grep, das alle Buchstaben als Wörter behandelt, das heißt, die Metazeichen in regulären Ausdrücken repräsentieren ihre eigene wörtliche Bedeutung. Linux verwendet die GNU-Version von grep. Es ist leistungsfähiger und kann die Funktionen von egrep und fgrep über die Befehlszeilenoptionen -G, -E und -F nutzen.
Grep funktioniert so, dass es eine oder mehrere Dateien nach einer String-Vorlage durchsucht. Wenn die Vorlage Leerzeichen enthält, muss sie in Anführungszeichen gesetzt werden und alle auf die Vorlage folgenden Zeichenfolgen werden als Dateinamen behandelt. Die Suchergebnisse werden an den Bildschirm gesendet, ohne dass sich dies auf den ursprünglichen Dateiinhalt auswirkt.
grep kann in Shell-Skripten verwendet werden, da grep den Status der Suche anzeigt, indem es einen Statuswert zurückgibt. Wenn die Vorlagensuche erfolgreich ist, gibt es 0 zurück, wenn die Suche nicht erfolgreich ist, wenn die Die gesuchte Datei existiert nicht. Dann wird 2 zurückgegeben. Wir können diese Rückgabewerte verwenden, um einige automatisierte Textverarbeitungsarbeiten durchzuführen.
grep --help
Übereinstimmungsmusterauswahl:
-E, --extended-regexp Erweiterter regulärer Ausdruck egrep
-F, --fixed-strings Eine durch Zeilenumbrüche getrennte Zeichensammlung von strings fgrep
-G, --basic-regexp Grundlegendes reguläres Muster
-P, --perl-regexp Wird als reguläres Perl-Muster bezeichnet
-e, --regexp=MUSTER Reguläres Stammmuster, Standard ist keins
-f, --file=FILE Übereinstimmendes Muster aus Datei abrufen
-i, --ignore-case Groß-/Kleinschreibung nicht berücksichtigen
-w, --word-regexp Ganzes Wort finden
- x, - -line-regexp Eine ganze Zeile finden
-z, --null-data Eine 0-Byte-Datenzeile, aber keine leere Zeile
Sonstiges:
-s, --no -messages Fehlermeldungen nicht anzeigen
-v, --invert-match Nicht übereinstimmende Zeilen anzeigen
-V, --version Versionsnummern anzeigen
--help Hilfemeldungen anzeigen
--mmap speicherzugeordnet verwenden Eingabe, wenn möglich
Eingabesteuerung:
-m, --max-count=NUM Die maximale Anzahl von Übereinstimmungen
-b, --byte-offset Drucken Sie die Zeile, bevor Sie die passende Zeile drucken Blocknummer, in der es sich befindet.
-n, --line-number Wird plus der Zeilennummer der Übereinstimmung angezeigt
--line-buffered Ausgabe für jede Zeile aktualisieren
-H, --with-filename Bei der Suche nach mehreren Dateien wird angezeigt passendes Dateinamenpräfix
-h, --no-filename Bei der Suche nach mehreren Dateien kein passendes Dateinamenpräfix anzeigen
--label=LABEL LABEL als Dateinamen für Standardeingabe ausgeben
-o, - -only-matching Zeigt nur den Teil einer Zeile an, der mit PATTERN
übereinstimmt. -q, --quiet, --silent Zeigt nichts an
--binary-files=TYPE Übernimmt den TYPE-Typ der Binärdatei
TYPE kann „binär“, „text“ oder „ohne Übereinstimmung“ sein.
-a, --text Passt auf binäre Dinge.
-I Passt nicht auf binäre Dinge.
-d, --directories= ACTION Verzeichnisoperation, lesen, rekursiv, überspringen
-D, --devices=ACTION Operationen auf Geräten, FIFO, Pipes festlegen, lesen, überspringen
-R, -r, --recursive rekursiver Aufruf
- -include=MUSTER, um nur Dateien zu finden, die FILE_PATTERN
entsprechen--exclude=PATTERN Dateien und Verzeichnisse überspringen, die FILE_PATTERN
entsprechen --exclude-from=DATEI Alle Dateien außer DATEI
überspringen -L, --files-without-match Beim Abgleichen mehrerer Dateien werden nicht übereinstimmende Dateinamen angezeigt
-l, --files-with-matches Beim Abgleichen mehrerer Dateien werden übereinstimmende Dateinamen angezeigt
-c, --count Zeigt an, wie oft abgeglichen wurde
-Z, --null Gibt das Nullzeichen aus am Ende der FILE-Datei
Dateisteuerung:
-B, --before-context=NUM Druckt die Übereinstimmung selbst und die vorherigen Zeilen, gesteuert durch NUM
-A, --after- context=NUM Druckt die Übereinstimmung selbst und die folgenden Zeilen, gesteuert durch NUM
-C, --context=NUM Druckt die Übereinstimmung selbst und die folgenden Zeilen, gesteuert durch NUM
-NUM Root. Die Verwendung von -C ist dieselbe as
--color[=WHEN],
--colour[=WHEN] Verwenden Sie Flag, um passende Zeichenfolgen hervorzuheben; 🎜> -u, --unix-byte-offsets Wenn kein CR-Zeichen vorhanden ist, Byte-Offset melden (MSDOS-Modus)