Grep: Unterschied zwischen den Versionen
Erscheinungsbild
Zeile 151: | Zeile 151: | ||
; Info-Pages | ; Info-Pages | ||
* info page grep | * info page grep | ||
=== Links === | |||
==== Projekt ==== | |||
==== Weblinks ==== | |||
* [https://wiki.ubuntuusers.de/pgrep pgrep] - gezielt nach der PID suchen / filternhttps://wiki.ubuntuusers.de/pgrep | |||
* [https://wiki.ubuntuusers.de/pdfgrep pdfgrep] - PDF-Dateien durchsuchenhttps://wiki.ubuntuusers.de/pdfgrep | |||
* [https://de.wikipedia.org/wiki/grep grep in der Wikipedia]https://de.wikipedia.org/wiki/grep | |||
* [https://www.gnu.org/software/grep/ GNU grep]https://www.gnu.org/software/grep/ | |||
* [https://de.wikipedia.org/wiki/Regulärer_Ausdruck#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis Erklärung regulärer Ausdrücke]https://de.wikipedia.org/wiki/Regulärer_Ausdruck | |||
===== Grafische Werkzeuge ===== | |||
Für den Einsatz innerhalb einer Desktop-Umgebung sind gedacht [https://searchmonkey.embeddediq.com/ Searchmonkey]https://searchmonkey.embeddediq.com/ | |||
* [https://regexxer.sourceforge.net/ regexxer] https://regexxer.sourceforge.net/ | |||
* [https://sourceforge.net/projects/jgrep jGrep] https://sourceforge.net/projects/jgrep | |||
* [https://sethoscope.net/grepui/ grepui]https://sethoscope.net/grepui/ |
Version vom 9. Oktober 2025, 00:01 Uhr
grep - Suchen in Dateien und Datenstömen
Beschreibung
Mit grep lassen sich Zeichenketten in Dateien finden, die auf die angegebenen regular expressions passen
- Wird keine Datei angegeben, so wird die Standardeingabe verwendet
grep steht für Global Regular Expression Print
- Regular Expressions für eine Suche nutzen
Installation
grep ist ein essenzielles Paket und sollte auf jedem Linux installiert sein
sudo apt install grep
Aufruf
grep [Optionen] Muster [Datei...]
grep [Optionen] [-e Muster | -f Datei] [Datei...]
Einsatz als Filter
Die Eingabe kann über die Standardeingabe oder die Angabe von Dateien erfolgen
cat /etc/services | grep MySQL
GNU Grep
GNU Grep unterstützt
UNIX | GNU | Ausdruck | Befehl |
---|---|---|---|
-G | --basic-regexp | BRE | grep |
-E | --extended-regexp | ERE | egrep |
-F | --fixed-strings | fixed-string | fgrep |
-P | --perl-regexp | PCRE | |
-r | rgrep |
Optionen
- Wichtige Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
-A | --after-context= | NUM | gibt zusätzlich NUM Zeilen nach der passenden Zeile aus |
-a | --text | Verarbeite eine binäre Datei, als wäre sie Text. Dies entspricht der Option --binary-files=text | |
-B | --before-context= | NUM | 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 mit Binärdateien verfahren soll |
-C | --count | unterdrückt die normale Ausgabe und gibt stattdessen für jede Eingabedatei an, wieviele Zeilen auf die regular expression passen | |
--colour --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 | --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 | --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 | --no-filename | unterdrückt die Ausgabe des Dateinamens, wenn mehrere Dateien durchsucht werden | |
-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 | |
-o | --only-matching | gibt nur die passende Zeichenkette aus | |
-P | --perl-regexp | verwendet Perl regular expressions | |
-q | --quiet --silent |
schreibt nichts auf die Standardausgabe und stoppt beim ersten Treffer | |
--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 | |
-w | --word-regexp | wählt nur solche Zeilen aus, deren Treffer aus vollständigen Wörtern bestehen |
Binärdateien
Wie soll grep mit binären Dateien verfahren?
- 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!
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Pages
Links
Projekt
Weblinks
Dokumentation
- Man-Page
- grep
- regex(7)
- Info-Pages
- info page grep
Links
Projekt
Weblinks
- pgrep - gezielt nach der PID suchen / filternhttps://wiki.ubuntuusers.de/pgrep
- pdfgrep - PDF-Dateien durchsuchenhttps://wiki.ubuntuusers.de/pdfgrep
- grep in der Wikipediahttps://de.wikipedia.org/wiki/grep
- GNU grephttps://www.gnu.org/software/grep/
- Erklärung regulärer Ausdrückehttps://de.wikipedia.org/wiki/Regulärer_Ausdruck
Grafische Werkzeuge
Für den Einsatz innerhalb einer Desktop-Umgebung sind gedacht Searchmonkeyhttps://searchmonkey.embeddediq.com/