Linux で grep
コマンドで特定キーワードが入っているファイルを検索する際に、特定のディレクトリ以下を再帰的に検索したい場合があります。
そのような場合以下で実行可能です
grep -lr {キーワード} {起点となるディレクトリのパス}
実際のコマンド例
TODO というキーワードが含まれるファイルを、カレントディレクトリを起点にして再帰的に探す場合は以下のようになります。
grep -lr TODO ./
特定の拡張子だけに絞りたい
再帰的な grep をする際に、特定の拡張子のファイルだけを検索対象にしたい場合があります。
そのような場合は、以下のコマンドで実行できます
grep -lr {キーワード} --include='*.{拡張子}' {起点となるディレクトリのパス}
実際のコマンド例
ERROR というキーワードが含まれる.logファイルを、./app/logs ディレクトリを起点にして再帰的に探す場合は以下のようになります。
grep -lr ERROR --include='*.log' ./app/logs