Как я могу удалить все каталоги run-*.achilles
во всех моих подкаталогах под Linux?
Я попытался find /path -name run-*.achilles -type f -delete
но это не работает.
Как я могу удалить все каталоги run-*.achilles
во всех моих подкаталогах под Linux?
Я попытался find /path -name run-*.achilles -type f -delete
но это не работает.
Несколько вопросов здесь:
*
чтобы не допустить повреждения оболочки.-type f
говорит, find
вы хотите найти файлы.find -delete
не удаляет непустые каталоги. Смотрите этот вопрос. Скорректированное решение одного из ответов там:
find /path -path '*/run-*.achilles/*' -delete
find /path -type d -name 'run-*.achilles' -empty -delete
Это не идеально, первая строка будет соответствовать .../run-a/b.achilles/...
Я думаю. Эта команда должна соответствовать лучше:
find /path -type d -name 'run-*.achilles' -exec rm -rf {} +
Он использует rm -rf
, поэтому будьте осторожны с ним.