En una versión anterior de Unix, el rmcomando 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 -ddice rmque continúe y elimine los directorios si están vacíos.
Hasta aquí todo bien. Este alias me permite usar rmcomo en los viejos tiempos. Sin embargo, me gustaría ir un paso más allá. me gustaríarmpara 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 rmeliminarlos a todos.
¿Podría esto escribirse como un alias que todavía funcionaría como el normal rmy 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) rmy eliminar todo lo que esté debajo.
rmdir -p?