Я знаю, что здесь есть много ответов, но вот альтернатива, если вы хотите добавить другие ограничения при поиске файлов:
find . -type f -exec grep --quiet string_to_look_for {} ';' -print
Это работает, потому что grep вернет 0, если он нашел результат, в противном случае. Например, вы можете найти файлы размером 1 МБ и что-то:
find . -type f -exec grep --quiet string_to_look_for {} ';' -size 1M -print
Для нескольких требований вы, вероятно, захотите использовать флаг оптимизатора -O, который существует в GNU grep.