Zählen Sie die Anzahl der von grep gefundenen Zeilen

Zählen Sie die Anzahl der von grep gefundenen Zeilen

Ich möchte wissen, wie viele Instanzen eines Musters von grep gefunden werden, wenn rekursiv eine Verzeichnisstruktur durchsucht wird. Es scheint, dass ich die Ausgabe von grep durch etwas leiten kann, das die Zeilen zählt.

Antwort1

Ich konnte die Antwort zusammenstellen mit Hilfe vondiese Frage. Das Programm „wc“ zählt Zeilenumbrüche, Wörter und Bytes. Die Option „-l“ gibt an, welche Zeilenzahl gewünscht ist. Für meine Anwendung hat Folgendes gut funktioniert, um die Anzahl der Instanzen von „somePattern“ zu zählen:

$grep -r "somePattern" filename | wc -l

Antwort2

Zumindest mit GNU-Tools:

grep -rcZ "some_pattern" | awk -F'\0' '{s+=$NF}END{print s}'

Dies ist im Vergleich wahrscheinlich schneller als wc -l.

Es funktioniert auch für Dateien mit einem Zeilenumbruch im Namen.

verwandte Informationen