Blog del Podcast
podcast      GitHub      Twitter   Telegram

Borrar directorios vacios, sin archivos con find

Lectura: 2 min. 248 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 el sábado, 18 de febrero de 2023







Powered by wdblog

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