1. ホーム
  2. grep

[解決済み】特定の拡張子を持つファイルのみを再帰的にgrepするにはどうすればよいですか?

2022-03-23 06:38:16

質問

というスクリプトを作成しています。 grep 特定のディレクトリを

{ grep -r -i CP_Image ~/path1/;
grep -r -i CP_Image ~/path2/;
grep -r -i CP_Image ~/path3/;
grep -r -i CP_Image ~/path4/;
grep -r -i CP_Image ~/path5/; }
| mailx -s GREP [email protected]

結果を拡張機能のみに制限するには .h .cpp ?

解決方法は?

ただ --include パラメータはこのようになります。

grep -inr --include \*.h --include \*.cpp CP_Image ~/path[12345] | mailx -s GREP [email protected]

これで思い通りになるはずです。

から説明を受けると HoldOffHungerの回答 を以下に示します。

  • grep : コマンド

  • -r : 再帰的に

  • -i : ignore-case

  • -n 各出力の行の前には、ファイル中の相対的な行番号が付きます。

  • --include \*.cpp : すべての *.cpp: C++ファイル(ファイル名にアスタリスクが含まれるディレクトリがある場合、念のため、「 \ 」でエスケープしてください。)

  • ./ : カレントディレクトリで起動します。