Tengo un directorio con un personaje divertido como ^ M en su espalda. Fueron creados accidentalmente y quiero eliminarlos.
Enumero los directorios por ls -iql
y anoté su número de inodo, luego trato de borrarlo buscándolo por número de inodo.
find . -inum 7990028 -exec rmdir -i {} \;
Pero el comando es muy lento. Solo tengo algunos cientos de directorios, pero hay muchos archivos dentro de los directorios. Creo que el comando de búsqueda debe haber estado buscando a través de los archivos.
¿Cómo puedo mejorar esto?
Respuestas:
Los . en el comando significa "buscar desde el directorio actual". Así que para hacerlo rápido, debería estar en el directorio que se encuentra sobre el directorio que desea eliminar. A continuación, también puede limitar la profundidad de búsqueda al directorio actual, y también limitar solo por directorios:
fuente
-type d
Hará una gran diferencia.Como sabe que los caracteres problemáticos no son imprimibles, simplemente puede usar
fuente
Probablemente sea mucho más fácil simplemente eliminar todos los nombres de archivos que contienen
^M
en ellos que, bueno ... encontrar.fuente
*[
Ctrl-V Ctrl-A Ctrl-V Ctrl-B ... Ctrl-V Ctrl-]]*