grep を使用した総発生回数の計算

grep を使用した総発生回数の計算

grep -cファイル内の特定の文字列が表示される回数を見つけるのに役立ちますが、各発生は1行に1回だけカウントされます。各行で複数回発生する回数を計算する方法は?

私は次よりもエレガントなものを探しています。

perl -e '$_ = <>; print scalar ( () = m/needle/g ), "\n"'

ベストアンサー1

grepは-o一致するものだけを出力し、行を無視しますwc

grep -o 'needle' file | wc -l

これは「needles」または「multineedle」とも一致します。

単一の単語のみを一致させるには、次のいずれかのコマンドを使用します。

grep -ow 'needle' file | wc -l
grep -o '\bneedle\b' file | wc -l
grep -o '\<needle\>' file | wc -l

おすすめ記事