Mis fotografías las guardo siguiendo una estructura de directorios por año, mes, día. Siempre hay días en los que solo hago una foto sin interés y cuando las reviso, la acabo borrando. De manera que acaban quedando directorios vacíos.
Vamos a ver como con comando find y con una sola línea de terminal, limpiar recursivamente todos esos directorios vacíos en menos de un segundo.
Buscar desde la ruta en la que estoy:
find . -type d -empty
'-empty' nos permite buscar objetos vacíos y '-type d' es para encontrar sólo directorios.
find . -type d -empty -exec rmdir {} ;
Este comando realizará una única ronda de búsqueda y eliminará los directorios que estén vacíos.
-exec junto con el comando find ejecutará rmdir a cada resultado del comando find.{}sustituye cada entrada en la lista de directorios encontrados y ;significa el final del comando a ejecutar.El comando rmdir se utiliza para eliminar directorios si están vacíos.
Si vamos a borrar más de un directorios a la vez, igual que hacemos con mkdir, utilizaremos la opción -p.
Cuando un directorio no está vacio, sale un mensaje de error. Si no quieres que lo muestre en terminal, añade la opción rmdir –ignore-fail-on-non-empty
find . -type d -empty -delete
'-delete'opción, que eliminará repetidamente todos los directorios vacíos hasta el directorio de nivel superior.Publicado el sábado, 18 de febrero de 2023
Powered by wdblog

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.