Это не, в целом, выполнимо. Я видел файловые системы с достаточным аудитом для позволения так или иначе, но это не общая вещь Unix, нет.
-l, --files-with-matches
Suppress normal output; instead print the name of each input
file from which output would normally have been printed. The
scanning will stop on the first match. (-l is specified by
POSIX.)
из grep страницы справочника
Вы хотите -l
(el) или --files-with-matches
переключатель (переключатели) командной строки
Подавите нормальный вывод; вместо этого распечатайте название каждого входного файла, из которого обычно печатался бы вывод. Сканирование остановится на первом соответствии. (-l указан POSIX.)