web-dev-qa-db-ja.com

LINUXでディレクトリとそのすべてのサブディレクトリのファイルの文字列をgrepするにはどうすればいいですか?

LINUXでディレクトリとそのすべてのサブディレクトリのファイル内の文字列やテキストをgrepするにはどうすればいいですか?

209
Rogers

あなたのgrepが-Rをサポートしているならば、してください:

grep -R 'string' dir/

そうでない場合は、findを使用します。

find dir/ -type f -exec grep -H 'string' {} +
388
John Kugelman
grep -r -e string directory

-rは再帰的です。 -eはオプションですが、その引数は検索する正規表現を指定します。興味深いことに、 POSIX grep-r(または-R)をサポートするために必須ではありませんが、 私はSystem V grepが実際に行ったと確信しています。 実際には、彼らは(ほとんど)すべてそうします。 grepのいくつかのバージョンは-Rと同様に(あるいはおそらく代わりに)-rをサポートします。私の知る限りでは、それは同じことを意味します。

46