rmdir recursivo

Estoy intentando borrar todas las carpetas vacias que se me han quedado en un disco duro extraible.

Lo unico que se me ha pasado por la cabeza seria ejecutar rmdir de forma recursiva sobre todos los directorios del disco

¿Como lo hago?
Vas al directorio raíz a partir del cual quieras borrar y haces rm -rf ./*
kornshell escribió:Vas al directorio raíz a partir del cual quieras borrar y haces rm -rf ./*


Solo quiero que se cargue las carpetas vacias no todo lo que pille

PD: Hay vez que es mejor pensar que buscar

Usemos perl escribió:perl -MFile::Find -e"finddepth(sub{rmdir},'.')"
Es que rmdir solo vale para cuando el directorio esta vacio.

Salu2!
Como estan estructuradas las capertas vacias? es decir, estan todas en la raiz, o pueden estar en qualquier punto de la jererquia?

Si es lo primero, juraria que haciendo "rmdir *" en la raiz funcionaria.
Si es segundo me temo que tendrias que hacerlo con algun bash-script

salu2
SI eso es lo que queria que solo se borraran los vacios pero ya he visto como

PD: rmdir * solo borraria las carpetas vacias donde se ejecutara el comando, es decir que si dentro de una carpeta hay otra vacia no borraria ninguna de las dos
find . -type d -exec rmdir {} \;


o en su variante mucho más rápida (pero puede no funcionar si son MUCHOS directorios)

find . -type d | xargs rmdir --ignore-fail-on-non-empty


- ferdy
6 respuestas