
Я хотел бы очистить некоторые папки. Поэтому я хочу удалить все папки, которые пусты или содержат только другие папки...
Сначала я попробовал
find . -type d -delete
но это перечисляет подпапки после родительских, поэтому мне пришлось бы выполнить это несколько раз.
Поэтому я попробовал использовать так и трубы.
find . -type d | tac | xargs rmdir
Этот вариант не срабатывает из-за пробелов и т. п., поэтому мне нужна маскировка — теперь я в тупике...
решение1
find . -type d -depth -exec rmdir {} +
должно работать, если у вас есть наполовину недавний find(1) - обратите внимание, что execplus был добавлен в 1989 году ;-)
Обратите внимание, что был намек на то, что могут быть нестандартные реализации поиска, которые выдают предупреждение, если -depth
не указан в качестве первого primary
.