Blog del Podcast
podcast      GitHub      Twitter   Telegram

Borrar directorios vacios, sin archivos con find

Tiempo estimado de lectura: 3 minutos. 339 palabras. bash

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.

Buscando directorios vacios

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.

Buscando directorios vacios y borrarlos

find . -type d -empty -exec rmdir {} ;

Este comando realizará una única ronda de búsqueda y eliminará los directorios que estén vacíos.

Comando rmdir

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

Borrando de una pasada sin rmdir

find . -type d -empty -delete

Publicado por Angel el Saturday 18 February del 2023



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

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