====== grep ======
grep ist ein Tool zum Durchsuchen von Dateien nach bestimmten Zeichenketten.
Eine Alternative ist [[ack]].
grep steht //**g**lobal/**r**egular **e**xpression/**p**rint// oder auch **g**lobal search for a //**r**egular **e**xpression and **p**rint out matched lines//.
===== Dateinamen anzeigen =====
Mit der Option ''-H'' bzw. ''%%--%%with-filename'' zeigt grep den Dateinamen der Fundstelle an.
Werden mehrere grep Dateinamen übergeben ist dies der Standard.
Häufig ist diese Option in der Kombination [[find]]+grep nützlich:
find . -iname test\* -exec grep -H test_string {} \;
Alternativ kann auch ein ''+'' statt ''\;'' verwendet werden, dann werden grep immer mehrere Dateinamen auf einmal übergeben und der Dateiname wird deshalb auch ohne die Option ''-H'' angezeigt.
find . -iname test\* -exec grep test_string {} +
Da bei der Ausführung das häufig verwendete Alias ''alias grep='grep %%--%%color=auto''' zum farblichen Markieren der Ergebnisse nicht ausgewertet wird, muss die Option (wenn gewünscht) explizit angegeben werden:
find . -iname test\* -exec grep --color test_string {} +
===== Alle Vorkommen zählen =====
Alle Vorkommen eines Suchbegriffs (auch mehrere in einer Zeile) lassen sich so zählen:
grep -o foo file | wc -l
===== Links =====
* [[https://www.gnu.org/software/grep/manual/grep.html|Homepage (GNU grep)]]