Zum Inhalt springen

Grep: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 31: Zeile 31:
{| class="wikitable sortable options gnu"
{| class="wikitable sortable options gnu"
|-
|-
! Unix !! GNU !! Parameter !! Beschreibung
! Unix !! GNU  
! !! Parameter !! Beschreibung
|-
|-
| -A NUM || --after-context=NUM || gibt zusätzlich NUM Zeilen nach der passenden Zeile aus
| -A NUM || --after-context=NUM  
| || gibt zusätzlich NUM Zeilen nach der passenden Zeile aus
|-
|-
| -a text || --text || Verarbeite eine binäre Datei, als wäre sie Text. Dies entspricht der Option --binary-files=text
| -a text || --text  
| || Verarbeite eine binäre Datei, als wäre sie Text. Dies entspricht der Option --binary-files=text
|-
|-
| -B NUM || --before-context=NUM Beispiel || gibt zusätzlich NUM Zeilen vor der passenden Zeile aus
| -B NUM || --before-context=NUM Beispiel  
| || gibt zusätzlich NUM Zeilen vor der passenden Zeile aus
|-
|-
| -b || --byte-offset || gibt den Byte-Offset innerhalb der Datei vor jeder gefundenen Zeile an
| -b || --byte-offset  
| || gibt den Byte-Offset innerhalb der Datei vor jeder gefundenen Zeile an
|-
|-
| -c || --binary-files=TYP || gibt an, wie grep mit binären Dateien verfahren soll. Default für Typ ist binary, in diesem Fall gibt grep nur eine kurze einzeilige Mitteilung aus, ob die Datei das Muster enthält oder nicht. without-match nimmt an, dass eine binäre Datei keine passenden Zeichenketten enthält. Bei text verarbeitet grep die Datei als wäre sie eine Textdatei. Vorsicht: Die Ausgabe von binären Daten kann zu unerwünschten Resultaten führen, wenn die Ausgabe auf einem Terminal erfolgt, und dieses einige der Zeichenketten als Befehle interpretiert!
| -c || --binary-files=TYP  
| || gibt an, wie grep mit binären Dateien verfahren soll. Default für Typ ist binary, in diesem Fall gibt grep nur eine kurze einzeilige Mitteilung aus, ob die Datei das Muster enthält oder nicht. without-match nimmt an, dass eine binäre Datei keine passenden Zeichenketten enthält. Bei text verarbeitet grep die Datei als wäre sie eine Textdatei. Vorsicht: Die Ausgabe von binären Daten kann zu unerwünschten Resultaten führen, wenn die Ausgabe auf einem Terminal erfolgt, und dieses einige der Zeichenketten als Befehle interpretiert!
|-
|-
| -C NUM || --count || unterdrückt die normale Ausgabe und gibt stattdessen für jede Eingabedatei an, wieviele Zeilen auf die regular expression passen
| -C NUM || --count  
| || unterdrückt die normale Ausgabe und gibt stattdessen für jede Eingabedatei an, wieviele Zeilen auf die regular expression passen
|-
|-
| || --colour[=Wann], --color[=Wann] || Markiert Treffer farbig. Wann kann dabei "never", "always" oder "auto" sein
| || --colour[=Wann], --color[=Wann]  
| || Markiert Treffer farbig. Wann kann dabei "never", "always" oder "auto" sein
|-
|-
|-E || --extended-regexp || Verwendet die extended Variante beim Interpretieren der übergebenen regular expression
|-E || --extended-regexp || Verwendet die extended Variante beim Interpretieren der übergebenen regular expression
Zeile 51: Zeile 59:
|-e Muster || --regexp=Muster || verwende Muster als regular expression. Nützlich um Ausdrücke zu schützen, die mit einem - beginnen
|-e Muster || --regexp=Muster || verwende Muster als regular expression. Nützlich um Ausdrücke zu schützen, die mit einem - beginnen
|-
|-
| -F|| --fixed-strings || interpretiert das übergebene Muster als eine Liste von festen Zeichenketten, die durch Zeilenumbrüche voneinander getrennt sind
| -F|| --fixed-strings  
| || interpretiert das übergebene Muster als eine Liste von festen Zeichenketten, die durch Zeilenumbrüche voneinander getrennt sind
|-
|-
|-f Datei || --fixed-strings || interpretiert das übergebene Muster als eine Liste von festen Zeichenketten, die durch Zeilenumbrüche voneinander getrennt sind
|-f Datei || --fixed-strings || interpretiert das übergebene Muster als eine Liste von festen Zeichenketten, die durch Zeilenumbrüche voneinander getrennt sind
|-
|-
| -f Datei||--file=Datei || beziehe die Muster aus Datei, eines je Zeile. Eine leere Datei enthält keine Muster und passt somit auf keinen String
| -f Datei||--file=Datei  
| || beziehe die Muster aus Datei, eines je Zeile. Eine leere Datei enthält keine Muster und passt somit auf keinen String
|-
|-
| -H || --with-filename || gibt den Dateinamen vor jedem Treffer aus
| -H || --with-filename  
| || gibt den Dateinamen vor jedem Treffer aus
|-
|-
|-h || --no-filename || unterdrückt die Ausgabe des Dateinamens, wenn mehrere Dateien durchsucht werden
|-h || --no-filename || unterdrückt die Ausgabe des Dateinamens, wenn mehrere Dateien durchsucht werden
|-
|-
| -I|| --binary-files=without-match|| schließt Binärdateien aus
| -I|| --binary-files=without-match
| || schließt Binärdateien aus
|-
|-
| -i|| --ignore-case || unterscheide nicht zwischen Groß- und Kleinschreibung
| -i|| --ignore-case  
| || unterscheide nicht zwischen Groß- und Kleinschreibung
|-
|-
| -L|| --files-without-match || unterdrückt die normale Ausgabe und gibt stattdessen die Dateinamen von allen Dateien, die keine Treffer enthalten aus. Die Bearbeitung stoppt, sobald ein Treffer auftritt
| -L|| --files-without-match  
| || unterdrückt die normale Ausgabe und gibt stattdessen die Dateinamen von allen Dateien, die keine Treffer enthalten aus. Die Bearbeitung stoppt, sobald ein Treffer auftritt
|-
|-
| -l|| --files-with-match || unterdrückt die normale Ausgabe und gibt stattdessen die Dateinamen von allen Dateien, die Treffer enthalten aus. Die Bearbeitung stoppt, sobald ein Treffer auftritt
| -l|| --files-with-match  
| || unterdrückt die normale Ausgabe und gibt stattdessen die Dateinamen von allen Dateien, die Treffer enthalten aus. Die Bearbeitung stoppt, sobald ein Treffer auftritt
|-
|-
| -n||--line-number || gibt die Zeilennummer vor jedem Treffer aus
| -n||--line-number  
| || gibt die Zeilennummer vor jedem Treffer aus
|-
|-
|-o || --only-matching || gibt nur die passende Zeichenkette aus
|-o || --only-matching || gibt nur die passende Zeichenkette aus
Zeile 79: Zeile 95:
|-R -r || --recursive || liest alle Dateien unter jedem Verzeichnis rekursiv
|-R -r || --recursive || liest alle Dateien unter jedem Verzeichnis rekursiv
|-
|-
| -v || --invert-match || Invertiert die Suche und liefert alle Zeilen die nicht auf das gesuchte Muster passen
| -v || --invert-match  
| || Invertiert die Suche und liefert alle Zeilen die nicht auf das gesuchte Muster passen
|-
|-
|-w || --word-regexp || wählt nur solche Zeilen aus, deren Treffer aus vollständigen Wörtern bestehen
|-w || --word-regexp || wählt nur solche Zeilen aus, deren Treffer aus vollständigen Wörtern bestehen

Version vom 20. Februar 2025, 13:10 Uhr

grep - Suchen in Dateien und Datenstömen

Beschreibung

grep steht für Global Regular Expression Print

Installation

grep ist ein essenzielles Paket und sollte auf jedem Linux installiert sein

sudo apt install grep

Aufruf

grep [Optionen] [-e Muster | -f Datei] [Datei...]
Varianten
Variante Beschreibung
egrep entspricht grep -E
fgrep entspricht grep -F
rgrep entspricht grep -r

Optionen

Unix GNU Parameter Beschreibung
-A NUM --after-context=NUM gibt zusätzlich NUM Zeilen nach der passenden Zeile aus
-a text --text Verarbeite eine binäre Datei, als wäre sie Text. Dies entspricht der Option --binary-files=text
-B NUM --before-context=NUM Beispiel gibt zusätzlich NUM Zeilen vor der passenden Zeile aus
-b --byte-offset gibt den Byte-Offset innerhalb der Datei vor jeder gefundenen Zeile an
-c --binary-files=TYP gibt an, wie grep mit binären Dateien verfahren soll. Default für Typ ist binary, in diesem Fall gibt grep nur eine kurze einzeilige Mitteilung aus, ob die Datei das Muster enthält oder nicht. without-match nimmt an, dass eine binäre Datei keine passenden Zeichenketten enthält. Bei text verarbeitet grep die Datei als wäre sie eine Textdatei. Vorsicht: Die Ausgabe von binären Daten kann zu unerwünschten Resultaten führen, wenn die Ausgabe auf einem Terminal erfolgt, und dieses einige der Zeichenketten als Befehle interpretiert!
-C NUM --count unterdrückt die normale Ausgabe und gibt stattdessen für jede Eingabedatei an, wieviele Zeilen auf die regular expression passen
--colour[=Wann], --color[=Wann] Markiert Treffer farbig. Wann kann dabei "never", "always" oder "auto" sein
-F --fixed-strings interpretiert das übergebene Muster als eine Liste von festen Zeichenketten, die durch Zeilenumbrüche voneinander getrennt sind
-f Datei --file=Datei beziehe die Muster aus Datei, eines je Zeile. Eine leere Datei enthält keine Muster und passt somit auf keinen String
-H --with-filename gibt den Dateinamen vor jedem Treffer aus
-I --binary-files=without-match schließt Binärdateien aus
-i --ignore-case unterscheide nicht zwischen Groß- und Kleinschreibung
-L --files-without-match unterdrückt die normale Ausgabe und gibt stattdessen die Dateinamen von allen Dateien, die keine Treffer enthalten aus. Die Bearbeitung stoppt, sobald ein Treffer auftritt
-l --files-with-match unterdrückt die normale Ausgabe und gibt stattdessen die Dateinamen von allen Dateien, die Treffer enthalten aus. Die Bearbeitung stoppt, sobald ein Treffer auftritt
-n --line-number gibt die Zeilennummer vor jedem Treffer aus
-v --invert-match Invertiert die Suche und liefert alle Zeilen die nicht auf das gesuchte Muster passen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Projekt
Weblinks
  1. https://wiki.ubuntuusers.de/grep/