[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 と同じ意味です。一致するファイルについては、最初の一致が見つかった時点でそのファイルの検索を終了します。

参考

Shell command grep