grep
Textverarbeitung
Aufruf
grep -rn '[pattern]' [path]Filtert die Zeilen, die zu einem Muster passen; standardmäßig gilt Basic Regex, daher brauchen + ? | und () ein -E oder einen Backslash.
Häufige Optionen
| Option | Bedeutung |
|---|---|
| -i | Ignore case |
| -r | Search a whole directory tree; -R also follows symlinks |
| -n | Print the line number of each hit |
| -v | Invert: print the lines that do not match |
| -l | Print only the names of the files that matched |
| -w | Match whole words only |
| -E | Extended regex, so + ? | and () work unescaped |
| -C | Print N lines of context around each hit |
Beispiele
grep -rn 'TODO' src/Every TODO in the tree, with file and line.
grep -v '^#' nginx.confDrops the comment lines.
ps aux | grep '[n]ginx'Finds nginx without matching the grep itself.
Sie sind fürs Zusammenstecken mit Pipes gebaut. Drei verkettete Befehle sind meist kürzer als einer, der alles macht.
So liest man das
- Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
- Drei Punkte … heißen: mehrere sind erlaubt.
- Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.
Häufige Fragen
Q. Was macht grep?
Filtert die Zeilen, die zu einem Muster passen; standardmäßig gilt Basic Regex, daher brauchen + ? | und () ein -E oder einen Backslash.
Q. Wie gibt man ihn ein?
grep -rn '[pattern]' [path] — eckige Klammern markieren, was wegfallen darf.
Q. Wie viele Optionen lohnen sich?
Hier stehen 8; die vollständige Liste steht in man grep. Der Befehl gehört zu Textverarbeitung.
Verwandte Befehle
man-Seite: man grep