Tengo un pequeño archivo molesto cuyo nombre parece ser un solo carácter, y ese personaje es un \r
¿Cómo puedo borrar esto?
Esto es lo que obtengo con ls -bl
:
-rw-rwxr--+ 1 root snapplewriters 0 Aug 29 2011 \r
ls -l
solo muéstralo "?"
linux
bash
filesystems
Colin
fuente
fuente
Respuestas:
Usamos
ls -li
para obtener el número de inodo para el archivo (primera columna), luego lo usamosfind
para eliminarlo (asumiendo que inode es 12345):find . -inum 12345 -exec rm -i {} \;
fuente
find
instalado, también podría hacerlofind . -inum 12345 -delete
use cita ANSI-C:
rm $'\r'
http://www.gnu.org/software/bash/manual/bashref.html#ANSI_002dC-Quoting
fuente
Yo personalmente alcanzaría Python:
Pero también puede hacerlo desde el shell si entiende los caracteres de escape.
fuente
Otra forma rápida de eliminar un archivo llamado
<carriage return>
si está utilizando el shell Bash es:fuente
Los nombres de archivo de un solo carácter son inusuales, y si no tiene ninguno de esos archivos en su directorio, puede intentar esto:
Soy demasiado vago para aprender o buscar cómo citar caracteres extraños, así que he usado variantes de esto varias veces cuando estaba atrapado con archivos con nombres difíciles.
fuente
man bash
. Pruebatouch a b c d $'\r'; rm ?