Con la siguiente línea de comandos, lograremos eliminar todos los directorios que estén vacíos a partir de el directorio en el que nos encontremos (.):
find . -type d -empty -print0 | xargs -0 rmdir
La explicación es sencilla, usamos find para buscar, le indicamos que queremos buscar directorios (-type d), que estén vacíos (-empty), y los mostramos por pantalla (print), posteriormente, al resultado de este comando le pasamos la orden de borrado de directorio usando Xargs.
Prueba con este comando:
find . -type d -empty -exec rm -R {} \;
Gracias por el aporte bentzia
Saludos
Hola como puedo borrar el contenido de un directorio.
ejemplo: usr/tmpDSK/eaccelerator
lo que quiero es borrar todo lo que esta en eaccelerator
Hola Juanss:
Es fácil, puedes borrarlo así:
rm -rf /usr/tmpDSK/eaccelerator/*
Saludos
Yo prefiero usar sed, ya que es más simple evitar problemas con directorios que tienen espacios dentro de su nombre :
find . -type d -empty | sed ‘s/ /\\ /g’ | sed ‘s/.*/rm -fr &/’ | sh
Muchas gracias por la ayuda.
JP
como puedo excluir algunos directorios que no quiero borrar
Buen apunte Joaquín.
Muchas gracias.
Tambien puedes hacerlo:
rmdir `find . -type d -empty`
Gracias Iñaki!
y…
find . -type d -empty -delete
y si quiero preguntar si se quiere eliminar antes de eliminar los directorios como se puede hacer eso ?
@mk34: find . -type d -empty -exec rm -Ri {} \;