Удалить пустые папки - рекурсивно

Удалить пустые папки - рекурсивно

Я хотел бы очистить некоторые папки. Поэтому я хочу удалить все папки, которые пусты или содержат только другие папки...

Сначала я попробовал

find . -type d -delete

но это перечисляет подпапки после родительских, поэтому мне пришлось бы выполнить это несколько раз.

Поэтому я попробовал использовать так и трубы.

find . -type d | tac | xargs rmdir

Этот вариант не срабатывает из-за пробелов и т. п., поэтому мне нужна маскировка — теперь я в тупике...

решение1

find . -type d -depth -exec rmdir {} +

должно работать, если у вас есть наполовину недавний find(1) - обратите внимание, что execplus был добавлен в 1989 году ;-)

Обратите внимание, что был намек на то, что могут быть нестандартные реализации поиска, которые выдают предупреждение, если -depthне указан в качестве первого primary.

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