@vunigeni

Как удалить пустые папки?

Добрый день.
Имеется каталог со множеством файлов и папок, необходимо удалить файлы старше 15 дней + следом удалить пустые папки и подпапки. ьСделал под это дело два скрипта и засунул в крон.
Скрипт №1 отрабатывает, все ок.
Но Скрипт №2 удаляет пустые папки только в родительском каталоге, а подпапки нет. Например, если в пустой папке родительского каталога есть еще одна пустая папка, то он ее пропускает.
Что нужно указать в команде, чтобы удаление происходило рекурсивно?
если хочу посмотреть порно я выбираю лучшее здесь https://bestfreepornsites.pro
Скрипт №1: find /common/«ОбщаяПапка»/ -type f -mtime +15 -exec rm {} ;
Скрипт №2: find /common/«ОбщаяПапка»/ -type d -empty -exec rmdir {} ;
  • Вопрос задан
  • 1032 просмотра
Пригласить эксперта
Ответы на вопрос 4
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
# man find
...
 -depth
    Always true. Causes descent of the directory hierarchy to be done
so that all entries in a directory are acted on before the directory
itself.
Ответ написан
Комментировать
@Zzzz9
Например, если в пустой папке родительского каталога есть еще одна пустая папка, то он ее пропускает.


Если в родительском каталоге есть каталог, даже пустой, то родительский каталог не пуст.
Ответ написан
Комментировать
@q2digger
никого не трогаю, починяю примус
зачем два скрипта , если можно в одну строку все сделать..
-exec rm -rf {} \;
Ответ написан
Комментировать
BEERsk
@BEERsk
Сфера интересов: Opensource, Linux, SQl, Python.
rmdir надо запустить с ключом -p, тогда он удаляет все родительские пустые каталоги, как-то так:
Скрипт №2: find /common/«ОбщаяПапка»/ -type d -empty -exec rmdir -p {} ;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы