grep -c
ist nützlich, um herauszufinden, wie oft ein String in einer Datei vorkommt, aber es zählt jedes Vorkommen nur einmal pro Zeile. Wie kann man mehrere Vorkommen pro Zeile zählen?
Ich suche etwas Eleganteres als:
perl -e '$_ = <>; print scalar ( () = m/needle/g ), "n"'
Akzeptierte Antwort:
-o
von grep gibt nur die Übereinstimmungen aus und ignoriert Zeilen; wc
kann sie zählen:
grep -o 'needle' file | wc -l
Dies passt auch zu „Needles“ oder „Multineedle“.
Um nur einzelne Wörter abzugleichen, verwenden Sie einen der folgenden Befehle:
grep -ow 'needle' file | wc -l
grep -o 'bneedleb' file | wc -l
grep -o '<needle>' file | wc -l