У меня следующая структура каталогов:
/level1-root
/level2-a
/level3-aa
/level3-ab
/level2-b
/level3-ba
Как я могу удалить все каталоги уровня 3 и их содержимое, не касаясь level1 и level2?
У меня следующая структура каталогов:
/level1-root
/level2-a
/level3-aa
/level3-ab
/level2-b
/level3-ba
Как я могу удалить все каталоги уровня 3 и их содержимое, не касаясь level1 и level2?
Если вы удалите level3-ba
то level2-b
потеряет одну из своих записей, поэтому он не будет "не касаться" уровня 2.
Если вы хотите удалить только каталоги уровня 3 с их содержимым (то есть не удалять файлы, которые находятся непосредственно в каталогах уровня 2, или что-либо на уровне 2 или уровне 1), то это работа для find -mindepth ... -maxdepth ... -type d ...
Безопасная команда:
find /level1-root -mindepth 2 -maxdepth 2 -type d -exec echo rm -rf {} +
2
? Потому что ваш уровень 3 на 2 директории глубже, чем /level1-root
когда мы начинаем.echo
чтобы выполнить фактическое удаление.