Простой ответ:
grep -l string *
Перечислит все файлы в вашем текущем каталоге, которые содержат строковую строку.
И если вы хотите искать строку во всех файлах в текущем каталоге и любых подкаталогах, используйте:
grep -rl string .
Подробности:
* будет соответствовать всему в вашей текущей папке, кроме файлов, которые начинаются с., теоретически он также будет соответствовать каталогам, даже если это обычно не имеет большого значения. Если вы хотите быть действительно разборчивым, вы можете использовать find так:
find . -type f -maxdepth 1 -exec grep -i string {} /dev/null \;
Если вы хотите просмотреть текущую папку и подпапки, оставьте -maxdepth 1 как:
find . -type f -exec grep -i string {} /dev/null \;
{} означает имя файла, которому оно соответствует, но чтобы указать ИМЯ файла, вы должны добавить как минимум два имени файла, и упоминание /dev /null помогает. Вы можете изменить это как хотите для желаемого результата. Должен дать вам основу для работы. :)