1. ホーム
  2. search

[解決済み] ファイル内のパターンの出現回数を数える(同一行内でも可)

2023-01-23 04:38:26

質問

ファイル内の文字列の出現回数を検索する場合、一般に次のようにします。

grep pattern file | wc -l

しかし、これは、grepの動作方法のため、1行に1回しか出現しないことを発見します。同じ行であろうと異なる行であろうと、ファイル内に文字列が現れる回数を検索するにはどうしたらよいでしょうか。

また、私が単純な文字列ではなく、正規表現パターンを検索している場合はどうでしょうか。どのようにそれを数えることができますか、あるいは、さらに良いことに、新しい行で各マッチを表示することができますか。

どのように解決するのですか?

すべての出現回数を数えるには -o . これを試してみてください。

echo afoobarfoobar | grep -o foo | wc -l

そして man grep はもちろん(。

更新情報

のみを使用することを提案する人もいます。 grep -co foo の代わりに grep -o foo | wc -l

-c print a count of matching lines

$ echo afoobarfoobar | grep -oc foo 1