Вопрос немного двусмысленный. У вас есть несколько «скрытых» файлов, и вы хотите искать только строку в файлах с определенным именем, или вы хотите искать строку во всех файлах? В любом случае, это довольно тривиально:
find /root/dir -type f -exec grep pattern {} \; # Search all files
find /root/dir -type f -name '*.log' -exec grep pattern {} \; # Search only in files with names matching '*.log'
Вы часто захотите добавить -H
(или указать / dev / null в качестве второго аргумента) к вызову grep
, чтобы увидеть имена файлов.