Удалить соответствующие каталоги во всех подкаталогах

Удалить соответствующие каталоги во всех подкаталогах

Как удалить все run-*.achillesкаталоги во всех моих подкаталогах в Linux?

Я попробовал find /path -name run-*.achilles -type f -delete, но не получилось.

решение1

Здесь есть несколько вопросов:

  1. Вам следует заключать их в кавычки *, чтобы избежать подстановки оболочки.
  2. -type fговорит, findчто вам нужны файлы.
  3. 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, поэтому будьте с ним осторожны.

Связанный контент