Чтобы рекурсивно искать файлы с определенным расширением в каталоге и его подкаталогах в Linux, вы можете использовать различные методы. Вот несколько часто используемых подходов:
-
Использование команды поиска:
find /path/to/directory -type f -name "*.extension"
Замените «/path/to/directory» фактическим путем к каталогу, а «*.extension» — желаемым расширением файла, который вы хотите найти.
-
Использование командыlocate:
locate "*.extension" | grep "/path/to/directory"
Командаlocate использует предварительно созданный индекс, поэтому перед поиском обязательно обновите индекс с помощью команды
updatedb
. -
Использование команды find с опцией exec:
find /path/to/directory -type f -exec grep -l "*.extension" {} +
Эта команда использует команду find с опцией
-exec
для выполнения командыgrep
для каждого найденного файла. -
Использование параметра globstar в Bash:
shopt -s globstar ls /path/to/directory//*.extension
Опция
globstar
включает рекурсивное подстановку, позволяя использовать « для сопоставления файлов в подкаталогах.