GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beispiele für grep-Befehle unter Linux (Spickzettel)

Oft müssen Sie in einer großen Datei nach einer bestimmten Datenzeile suchen, die irgendwo in der Mitte der Datei verborgen ist. Anstatt manuell durch die gesamte Datei zu scrollen, können Sie den grep-Befehl nach Ihnen suchen lassen. Das Befehlszeilenformat für den Befehl grep lautet:

# grep [options] pattern [file]

Der Befehl grep durchsucht entweder die Eingabe oder die angegebene Datei nach Zeilen, die Zeichen enthalten, die dem angegebenen Muster entsprechen. Die Ausgabe von grep sind die Zeilen, die das übereinstimmende Muster enthalten. Aufgrund der Popularität des Befehls grep hat er im Laufe seiner Lebensdauer viele Entwicklungsänderungen erfahren. Dem grep-Befehl wurden viele Funktionen hinzugefügt. Wenn Sie sich die Manpages für den grep-Befehl ansehen, werden Sie sehen, wie vielseitig er ist.

Wenn Sie die Suche umkehren möchten (Ausgabezeilen, die nicht mit dem Muster übereinstimmen), verwenden Sie den Parameter -v:

$ grep -v t file1
one
four
five
$

Wenn Sie die Zeilennummern finden müssen, in denen die übereinstimmenden Muster gefunden werden, verwenden Sie den Parameter -n:

$ grep -n t file1
2:two
3:three
$

Wenn Sie nur sehen möchten, wie viele Zeilen das übereinstimmende Muster enthalten, verwenden Sie den Parameter -c:

$ grep -c t file1
2
$

Wenn Sie mehr als ein übereinstimmendes Muster angeben müssen, verwenden Sie den Parameter -e, um jedes einzelne Muster anzugeben:

$ grep -e t -e f file1
two
three
four
five
$

grep-Befehlsbeispiele

1. So interpretieren Sie PATTERN als erweiterten regulären Ausdruck:

# grep --extended-regexp PATTERN
# grep -E PATTERN 

2. So interpretieren Sie PATTERN als eine Liste fester Zeichenfolgen:

# grep -F PATTERN
# grep --fixed-strings PATTERN 

3. So interpretieren Sie PATTERN als einfachen regulären Ausdruck:

# grep -G PATTERN
# grep --basic-regexp PATTERN 

4. So interpretieren Sie PATTERN als regulären Perl-Ausdruck:

# grep -P PATTERN
# grep --perl-regexp PATTERN 

5. So verwenden Sie PATTERN als Muster:

# grep -e PATTERN, 
# grep --regexp=PATTERN 

6. Um Muster aus DATEI zu erhalten, eines pro Zeile:

# grep -f FILE, --file=FILE

7. Um Unterscheidungen zwischen Groß- und Kleinschreibung sowohl im PATTERN als auch in den Eingabedateien zu ignorieren:

# grep -i PATTERN
# grep --ignore-case PATTERN

8. So kehren Sie den Sinn der Übereinstimmung um, um nicht übereinstimmende Zeilen auszuwählen:

# grep -v PATTERN
# grep --invert-match PATTERN 

9. So wählen Sie nur die Zeilen aus, die Übereinstimmungen enthalten, die ganze Wörter bilden:

# grep -w PATTERN
# grep --word-regexp PATTERN

10. So wählen Sie nur die Übereinstimmungen aus, die genau mit der gesamten Zeile übereinstimmen:

# grep -x PATTERN
# grep --line-regexp PATTERN 

11. Um den Fall zu ignorieren:

# grep -y PATTERN 

12. Um die normale Ausgabe zu unterdrücken; geben Sie stattdessen eine Anzahl übereinstimmender Zeilen aus:

# grep -c PATTERN
# grep --count PATTERN 

13. Zur Anzeige in Farbe:

# grep --color PATTERN 

14. Um die normale Ausgabe zu unterdrücken; geben Sie stattdessen den Namen jeder Eingabedatei aus, von out wird nicht erwartet:

# grep -L
# grep --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:

# grep -l
# grep --files-with-matches 

16. Zu beruhigen; nichts in die Standardausgabe schreiben Sofort mit Null-Status beenden, wenn eine Übereinstimmung gefunden wird:

# grep -q 
# grep --quiet
# grep --silent 

17. So beenden Sie das Lesen einer Datei nach NUM übereinstimmenden Zeilen:

# grep -m NUM
# grep --max-count=NUM 

18. So drucken Sie nur die übereinstimmenden (nicht leeren) Teile einer übereinstimmenden Zeile:

# grep -o PATTERN
# grep --only-matching PATTERN 

19. So unterdrücken Sie Fehlermeldungen über nicht vorhandene oder nicht lesbare Dateien:

# grep -s PATTERN
# grep --no-messages PATTERN 

20. So drucken Sie den 0-basierten Byte-Offset innerhalb der Eingabedatei vor jeder Ausgabezeile:

# grep -b PATTERN
# grep --byte-offset PATTERN 

21. So drucken Sie den Dateinamen für jede Übereinstimmung:

# grep -H PATTERN
# grep --with-filename PATTERN

22. So unterdrücken Sie das Präfix von Dateinamen bei der Ausgabe:

# grep -h PATTERN
# grep --no-filename PATTERN 

23. Um Eingaben anzuzeigen, die tatsächlich von der Standardeingabe kommen, als Eingaben, die von der Datei LABEL:

kommen
# grep -cd PATTERN | grep --label=mysearch -H PATTERN 

24. Um jeder Ausgabezeile die auf 1 basierende Zeilennummer in ihrer Eingabedatei voranzustellen:

# grep -n PATTERN
# grep --line-number PATTERN 

25. Stellen Sie sicher, dass das erste Zeichen des aktuellen Zeileninhalts auf einem Tabstopp liegt:

# grep -T PATTERN
# grep --initial-tab PATTERN 

26. So melden Sie Byte-Offsets im Unix-Stil:

# grep -u PATTERN
# grep --unix-byte-offsets PATTERN 

27. Um ein Null-Byte anstelle des Zeichens auszugeben, das normalerweise einem Dateinamen folgt:

# grep -Z PATTERN
# grep --null PATTERN

28. So drucken Sie NUM Zeilen nachgestellten Kontext nach übereinstimmenden Zeilen:

# grep -A NUM PATTERN
# grep --after-context=NUM PATTERN 

29. So drucken Sie NUM Zeilen führenden Kontexts vor übereinstimmenden Zeilen:

# grep -B NUM PATTERN
# grep --before-context=NUM PATTERN 

30. Um NUM Zeilen Ausgabekontext zu drucken:

# grep -C NUM PATTERN
# grep --context=NUM PATTERN 

31. So verarbeiten Sie eine Binärdatei, als wäre sie Text:

# grep -a PATTERN /tmp/bin
# grep -text PATTERN /tmp/bin 

32. Anzunehmen, dass die Datei vom Typ TYPE:

ist
# grep --binary-files=TYPE PATTERN 

33. Wenn eine Eingabedatei ein Gerät, FIFO oder Socket ist, verwenden Sie ACTION, um sie zu verarbeiten:

# grep -D ACTION PATTERN
# grep --devices=ACTION PATTERN 

34. Wenn eine Eingabedatei ein Verzeichnis ist, verwenden Sie ACTION, um sie zu verarbeiten:

# grep -d ACTION PATTERN
# grep --directories=ACTION PATTERN 

35. So überspringen Sie Dateien, deren Basisname mit GLOB übereinstimmt:

# grep --exclude=GLOB PATTERN 

36. Zum Überspringen von Dateien, deren Basisname mit einem der aus FILE gelesenen Dateinamen-Globs übereinstimmt:

# grep --exclude-from=FILE PATTERN 

37. So schließen Sie Verzeichnisse, die mit dem Muster DIR übereinstimmen, von rekursiven Suchen aus:

# grep --exclude-dir=DIR PATTERN

38. So verarbeiten Sie eine Binärdatei, als ob sie keine übereinstimmenden Daten enthalten würde:

# grep -I PATTERN

39. Um nur Dateien zu suchen, deren Basisname mit GLOB übereinstimmt:

# grep --include=GLOB 

40. Um alle Dateien unter jedem Verzeichnis rekursiv zu lesen:

# grep -r PATTERN
# grep -R PATTERN 

41. So verwenden Sie die Zeilenpufferung für die Ausgabe:

# grep --line-buffered PATTERN 

42. Verwenden Sie nach Möglichkeit den mmap-Systemaufruf zum Lesen von Eingaben anstelle des standardmäßigen read:

# grep --mmap PATTERN 

43. Um die Datei(en) als binär zu behandeln:

# grep -U /tmp/file PATTERN
# grep --binary /tmp/file PATTERN 

44. So behandeln Sie die Eingabe als eine Reihe von Zeilen:

# grep -z PATTERN
# grep --null-data PATTERN 

45. So zeigen Sie die Hilfe an:

# grep -h 

46. ​​So drucken Sie die Versionsnummer von grep:

# grep -V 


Linux
  1. 7 Beispiele für Linux-df-Befehle

  2. 8 Linux TR-Befehlsbeispiele

  3. Beispiele für iSCSI-Verbindungsbefehle (Spickzettel)

  4. sa-Befehlsbeispiele in Linux

  5. ac-Befehlsbeispiele in Linux

14 Grep-Befehlsbeispiele unter Linux

So verwenden Sie den Grep-Befehl unter Linux + Nützliche Grep-Beispiele

15 Beispiele für die Verwendung des Grep-Befehls in Linux

Grep-Befehl in Linux (mit Beispielen)

15 Praktische Grep-Befehlsbeispiele in Linux / UNIX

id-Befehlsbeispiele in Linux