Как найти во всех файлах в текущем каталоге с помощью сокращения find

find ./ -name $1 -exec grep -H -n $2 '{}' ';'


Команда «find» используется для поиска файлов в заданном каталоге и его подкаталогах. В данном случае, с помощью опции «./» мы указываем, что поиск нужно осуществлять в текущем каталоге. Опция «-name» специфицирует шаблон имени файла (в данном случае передан в качестве аргумента командной строки $1). Затем мы используем опцию «-exec» для выполнения команды «grep» для каждого найденного файла. В указанных фигурных скобках ‘{}’ будет подставлено имя найденного файла. Опция «-H» указывает, что нужно выводить имя файла в начале каждой строки результатов, а опция «-n» заставляет выводить номер строки. В качестве аргумента командной строки $2 передается строка, которую нужно найти в файлах.

Альтернативным способом поиска в Linux является использование команды «grep» с ключом «-r» для рекурсивного поиска файлов, содержащих заданную строку. Однако, команда «find» предоставляет больший контроль над поиском, позволяя, например, выполнять заданную команду только для файлов определенного типа или с заданными правами доступа.

Ответить

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