Das UNIX-Kommando grep durchsucht Datenströme und filtert entsprechend eines angegebenen Musters. Häufig interessieren nicht die Suchtreffer selber, sondern nur die Anzahl der Treffer. Folgendes Konstrukt wird dann verwendet, indem die Ausgabe über eine Pipe an das Kommando wc weitergeleitet wird:
grep Muster Datei | wc -l
wc -l zählt die einzelnen Zeilen und gibt die Anzahl als Zahlenwert aus. Das gleiche erreicht man auch mit der grep-Option -c:
$ cat datei
text text
$ grep text datei | wc -l
1
$ grep -c datei
1
Das Vorgehen ist stimmig und man erhält die Anzahl der Suchtreffer, wenn sich in jeder Zeile genau ein Treffer befindet. Um korrekt zu zählen und wirklich die genaue Anzahl zu erhalten, hilft die grep-Option -o. Das bewirkt, dass grep zeilenweise nur den exakten Suchtreffer ohne den umgebenden Kontext ausgibt. Wird diese Ausgabe wieder mit wc -l gezählt, stimmt die Anzahl.
$ cat datei
text text
$ grep -o text datei
text
text
$ grep -o text datei | wc -l
2



Kommentare
Kommentare deaktiviert.