Der Befehl egrep ist ein Ableger von grep, mit dem Sie erweiterte reguläre POSIX-Ausdrücke angeben können, die mehr Zeichen zum Angeben des Übereinstimmungsmusters enthalten.
egrep durchsucht eine oder mehrere Dateien nach Zeilen, die mit einem erweiterten regulären Ausdruck regexp übereinstimmen. egrep unterstützt nicht die regulären Ausdrücke \(,\), \n, \<, \>, \{ oder \}, aber es unterstützt die anderen Ausdrücke sowie die erweiterte Menge +, ?, |, und ( ). Denken Sie daran, diese Zeichen in Anführungszeichen zu setzen. Der Exit-Status ist 0, wenn Zeilen übereinstimmen, 1, wenn keine übereinstimmen, und 2 für Fehler.
Syntax:
# egrep [options] [regexp] [files]
Suche nach Vorkommen von Victor oder Victoria in der Datei:
# egrep 'Victor(ia)*' fileegrep '(Victor|Victoria)' file
Suchen und drucken Sie Zeichenfolgen wie old.doc1 oder new.doc2 in Dateien und fügen Sie ihre Zeilennummern hinzu:
# egrep -n '(old|new)\.doc?' files
egrep-Befehlsbeispiele
1. So interpretieren Sie PATTERN als erweiterten regulären Ausdruck:
# egrep --extended-regexp PATTERN # egrep -E PATTERN
2. So interpretieren Sie PATTERN als eine Liste fester Zeichenfolgen:
# egrep -F PATTERN # egrep --fixed-strings PATTERN
3. So interpretieren Sie PATTERN als einfachen regulären Ausdruck:
# egrep -G PATTERN # egrep --basic-regexp PATTERN
4. So interpretieren Sie PATTERN als regulären Perl-Ausdruck:
# egrep -P PATTERN # egrep --perl-regexp PATTERN
5. So verwenden Sie PATTERN als Muster:
# egrep -e PATTERN, # egrep --regexp=PATTERN
6. Um Muster aus DATEI zu erhalten, eines pro Zeile:
# egrep -f FILE, --file=FILE
7. So ignorieren Sie die Unterscheidung zwischen Groß- und Kleinschreibung sowohl im MUSTER als auch in den Eingabedateien:
# egrep -i PATTERN # egrep --ignore-case PATTERN
8. Zum Umkehren des Übereinstimmungssinns, um nicht übereinstimmende Zeilen auszuwählen:
# egrep -v PATTERN # egrep --invert-match PATTERN
9. So wählen Sie nur die Zeilen aus, die Übereinstimmungen enthalten, die ganze Wörter bilden:
# egrep -w PATTERN # egrep --word-regexp PATTERN
10. So wählen Sie nur die Übereinstimmungen aus, die genau mit der gesamten Zeile übereinstimmen:
# egrep -x PATTERN # egrep --line-regexp PATTERN
11. Um den Fall zu ignorieren:
# egrep -y PATTERN
12. Um die normale Ausgabe zu unterdrücken; geben Sie stattdessen eine Anzahl übereinstimmender Zeilen aus:
# egrep -c PATTERN # egrep --count PATTERN
13. Zur Anzeige in Farbe:
# egrep --color PATTERN
14. Um die normale Ausgabe zu unterdrücken; geben Sie stattdessen den Namen jeder Eingabedatei aus, von out wird nicht erwartet:
# egrep -L # egrep --files-without-match
15. Um die normale Ausgabe zu unterdrücken; geben Sie stattdessen den Namen jeder Eingabedatei aus, aus der die Ausgabe gedruckt wurde:
# egrep -l # egrep --files-with-matches
16. Zu beruhigen; nichts in die Standardausgabe schreiben Sofort mit Null-Status beenden, wenn eine Übereinstimmung gefunden wird:
# egrep -q # egrep --quiet # egrep --silent
17. So beenden Sie das Lesen einer Datei nach NUM übereinstimmenden Zeilen:
# egrep -m NUM # egrep --max-count=NUM
18. So drucken Sie nur die übereinstimmenden (nicht leeren) Teile einer übereinstimmenden Zeile:
# egrep -o PATTERN # egrep --only-matching PATTERN
19. So unterdrücken Sie Fehlermeldungen über nicht vorhandene oder nicht lesbare Dateien:
# egrep -s PATTERN # egrep --no-messages PATTERN
20. So drucken Sie den 0-basierten Byte-Offset innerhalb der Eingabedatei vor jeder Ausgabezeile:
# egrep -b PATTERN # egrep --byte-offset PATTERN
21. So drucken Sie den Dateinamen für jede Übereinstimmung:
# egrep -H PATTERN # egrep --with-filename PATTERN
22. So unterdrücken Sie das Präfix von Dateinamen bei der Ausgabe:
# egrep -h PATTERN # egrep --no-filename PATTERN
23. Um Eingaben anzuzeigen, die tatsächlich von der Standardeingabe kommen, als Eingaben, die von der Datei LABEL:
kommen# egrep -cd PATTERN | egrep --label=mysearch -H PATTERN
24. Um jeder Ausgabezeile die auf 1 basierende Zeilennummer in ihrer Eingabedatei voranzustellen:
# egrep -n PATTERN # egrep --line-number PATTERN
25. Stellen Sie sicher, dass das erste Zeichen des aktuellen Zeileninhalts auf einem Tabstopp liegt:
# egrep -T PATTERN # egrep --initial-tab PATTERN
26. So melden Sie Byte-Offsets im Unix-Stil:
# egrep -u PATTERN # egrep --unix-byte-offsets PATTERN
27. Um ein Null-Byte anstelle des Zeichens auszugeben, das normalerweise einem Dateinamen folgt:
# egrep -Z PATTERN # egrep --null PATTERN
28. So drucken Sie NUM Zeilen nachgestellten Kontext nach übereinstimmenden Zeilen:
# egrep -A NUM PATTERN # egrep --after-context=NUM PATTERN
29. So drucken Sie NUM Zeilen führenden Kontexts vor übereinstimmenden Zeilen:
# egrep -B NUM PATTERN # egrep --before-context=NUM PATTERN
30. Um NUM Zeilen Ausgabekontext zu drucken:
# egrep -C NUM PATTERN # egrep --context=NUM PATTERN
31. So verarbeiten Sie eine Binärdatei, als wäre sie Text:
# egrep -a PATTERN /tmp/bin # egrep -text PATTERN /tmp/bin
32. Anzunehmen, dass die Datei vom Typ TYPE:
ist# egrep --binary-files=TYPE PATTERN
33. Wenn eine Eingabedatei ein Gerät, FIFO oder Socket ist, verwenden Sie ACTION, um sie zu verarbeiten:
# egrep -D ACTION PATTERN # egrep --devices=ACTION PATTERN
34. Wenn eine Eingabedatei ein Verzeichnis ist, verwenden Sie ACTION, um sie zu verarbeiten:
# egrep -d ACTION PATTERN # egrep --directories=ACTION PATTERN
35. So überspringen Sie Dateien, deren Basisname mit GLOB übereinstimmt:
# egrep --exclude=GLOB PATTERN
36. Zum Überspringen von Dateien, deren Basisname mit einem der aus FILE gelesenen Dateinamen-Globs übereinstimmt:
# egrep --exclude-from=FILE PATTERN
37. So schließen Sie Verzeichnisse, die mit dem Muster DIR übereinstimmen, von rekursiven Suchen aus:
# egrep --exclude-dir=DIR PATTERN
38. So verarbeiten Sie eine Binärdatei, als ob sie keine übereinstimmenden Daten enthalten würde:
# egrep -I PATTERN
39. Um nur Dateien zu suchen, deren Basisname mit GLOB übereinstimmt:
# egrep --include=GLOB PATTERN
40. Um alle Dateien unter jedem Verzeichnis rekursiv zu lesen:
# egrep -r PATTERN # egrep -R PATTERN
41. So verwenden Sie die Zeilenpufferung für die Ausgabe:
# egrep --line-buffered PATTERN
42. Verwenden Sie nach Möglichkeit den mmap-Systemaufruf zum Lesen der Eingabe anstelle des standardmäßigen read:
# egrep --mmap PATTERN
43. Um die Datei(en) als binär zu behandeln:
# egrep -U /tmp/file PATTERN # egrep --binary /tmp/file PATTERN
44. So behandeln Sie die Eingabe als eine Reihe von Zeilen:
# egrep -z PATTERN # egrep --null-data PATTERN
45. So zeigen Sie die Hilfe an:
# egrep -h
46. So drucken Sie die Versionsnummer von grep:
# egrep -V