[grep] 一致するファイル名だけを表示する
作成日: 2026年10月03日
grep で検索文字列に一致する行ではなく、一致するファイル名だけを表示するには -l オプションを使用します。
下記の例では、3つのファイルから ERROR を含むファイル名だけを表示します。
printf 'INFO start\nERROR failed\n' > app.log
printf 'OK\n' > other.log
printf 'ERROR timeout\n' > archive.log
grep -l 'ERROR' app.log other.log archive.log
実行結果は下記のとおりです。
app.log
archive.log
-l は --files-with-matches と同じ意味です。一致するファイルについては、最初の一致が見つかった時点でそのファイルの検索を終了します。
参考
- GNU grep - General Output Control: https://www.gnu.org/software/grep/manual/html_node/General-Output-Control.html