grep ist ein Tool zum Durchsuchen von Dateien nach bestimmten Zeichenketten. Eine Alternative ist ack. grep steht global/regular expression/print oder auch global search for a regular expression and print out matched lines.
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 eines Suchbegriffs (auch mehrere in einer Zeile) lassen sich so zählen:
grep -o foo file | wc -l