ディレクトリ内の各ファイルで文字列の発生回数を計算する方法は?

ディレクトリ内の各ファイルで文字列の発生回数を計算する方法は?

grep -G '{string}' *. | wc -l {string}ディレクトリ全体の総数を示します。一方、wc -l *.ファイルあたりの行あたりの数は提供されますが、{string}私が興味のあるファイルごとの数は提供されません。私は、{string}各ファイルの発生回数を個別に計算できる2つの組み合わせを探しています。

ベストアンサー1

これ必要なオプションは次のとおりです-c

-氏

選択した行数のみを標準出力に書き込みます。


検索するネストされたディレクトリがある場合:

使用+:

find /your_dir -type f -exec grep -cF '{string}' {} +

またはGNU Grep(または他の実装)が利用可能な場合-r再帰検索のために)をサポートします。

grep -rcF '{string}' your_dir

ディレクトリ内にサブディレクトリがない場合は簡単です。

grep -cF '{string}' your_dir/*

動作します。


さらに、-GGNU Grep特定の)BREエンジンが有効になっており、これはデフォルトの選択であり、ERE同様のタグ{(エスケープされていない場合)を処理しません。-Fオプションの強制使用を検討してください。必要でない場合は、単純な文字列を検索するか、正規表現のメタ文字補間を無効にします。

おすすめ記事