Как получить файлы, соответствующие определенному шаблону (Продвинутый способ)

find . -path "*/any_depth/*" -exec grep "needle" {} +


Команда find используется для поиска файлов и директорий в указанной директории. В данном конкретном случае, она ищет файлы, соответствующие шаблону «*/any_depth/*».

— Опция -path указывает шаблон пути, по которому будет осуществляться поиск. В данном случае, шаблон «*/any_depth/*» означает, что нужно найти файлы, находящиеся в любой директории под любым именем, а затем имеющие директорию «any_depth» в своем пути.

— Команда grep используется для поиска указанного текстового шаблона внутри файлов. Здесь, шаблон «needle» указывается после команды grep и будет использован для поиска в найденных файлах.

— Команда -exec выполняет переданную ей команду (grep) для каждого найденного файла. В данном случае, файлы передаются в команду grep с помощью {} +.

Эта команда полезна, если нужно найти определенные файлы в определенной директории и выполнить какие-либо действия с найденными файлами, в данном случае- поиск заданного текста в найденных файлах. Возможная альтернатива — использование команды find с опцией -execdir, которая выполняет команды в директории, где находится файл.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *