Чтобы удалить файлы рекурсивно по определенному шаблону, вы можете использовать различные методы в зависимости от вашей операционной системы и доступных инструментов. Вот несколько подходов:
-
Командная строка с использованием
findиrm:find /path/to/directory -type f -name "pattern" -exec rm {} +Эта команда находит все файлы, соответствующие указанному шаблону, в данном каталоге и его подкаталогах, а затем удаляет их с помощью
rm. -
Командная строка с использованием
grep,xargsиrm:find /path/to/directory -type f | grep "pattern" | xargs rmЭта команда находит все файлы в указанном каталоге и его подкаталогах, фильтрует их с помощью
grepна основе шаблона, а затем удаляет их с помощьюrmчерезxargs. -
Командная строка с использованием
findиexecdir:find /path/to/directory -type f -name "pattern" -execdir rm {} +Эта команда аналогична первому методу, но использует
execdirвместоexec. Он выполняетrmиз каталога файла, что может быть полезно в целях безопасности. -
Скрипт Python с использованием модуля
os:import os import fnmatch def remove_files_recursive(directory, pattern): for root, dirs, files in os.walk(directory): for file in files: if fnmatch.fnmatch(file, pattern): os.remove(os.path.join(root, file)) remove_files_recursive('/path/to/directory', 'pattern')Этот скрипт Python проходит по дереву каталогов, сопоставляет файлы по шаблону с помощью
fnmatchи удаляет их с помощьюos.remove().