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

find . -type d | tac | xargs -I{} rmdir {} 2> /dev/null


Эта команда удаляет рекурсивно все пустые директории в текущей директории и её поддиректориях.

— find . -type d: Находит все директории (-type d) начиная с текущей (.).
— | tac: Разворачивает список в обратном порядке, то есть переворачивает его.
— | xargs -I{} rmdir {} 2> /dev/null: Передает список директорий команде rmdir для их удаления. rmdir удаляет только пустые директории. 2> /dev/null перенаправляет сообщения об ошибках в «черную дыру», то есть игнорирует их.

Альтернатива: find . -type d -empty -delete, эта команда также удаляет все пустые директории, но более прямым и эффективным способом.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *