En una versión anterior de Unix, el rm
comando eliminaría directorios si estuvieran vacíos. De la página de manual de Research Unix Octava Edición para rm : "Si una entrada es un directorio, se elimina solo si está vacía". Me gusta este comportamiento, así que tengo este alias en mi /etc/profile
: alias rm='rm -d'
estoy usando la versión de GNU coreutils de rm
, en la que me -d
dice rm
que continúe y elimine los directorios si están vacíos.
Hasta aquí todo bien. Este alias me permite usar rm
como en los viejos tiempos. Sin embargo, me gustaría ir un paso más allá. me gustaríarm
para eliminar un directorio incluso si el directorio contiene otros directorios, siempre que los directorios sean lo único que hay. No importa cuán profunda sea la estructura del directorio, siempre que no haya ningún archivo allí, solo directorios vacíos (una vez que llegue al final), me gustaría rm
eliminarlos a todos.
¿Podría esto escribirse como un alias que todavía funcionaría como el normal rm
y eliminaría cualquier archivo que se le pase?
mkdir -p a/b1/c2 && mkdir -p a/b2/c2; rmdir -p a/b1/c1;
, todavía me quedan a, a / b2 y a / b2 / c2. Lo que me gustaría es pasar solo el nivel superior (a en este caso) rm
y eliminar todo lo que esté debajo.
rmdir -p
?