Tengo un pequeño problema con un error muy terco durante un rsync. Es causado por un archivo con un carácter especial en su nombre de archivo. Ha habido otros, pero podría solucionarlo haciendo alguna conversión en la codificación del nombre del archivo. Sin embargo, este archivo ni siquiera puedo encontrarlo.
Entonces, esto es lo que dice rsync:
../.\#033OA.tex.pyD0MB" failed: No such file or directory (2)
Lo primero que uno nota es que el código de caracteres no puede ser hexadecimal u octal, así que lo busqué en Google y solo encontré esto . Entonces puede ser un CURSOR UP
personaje (o no). He intentado
ls -la *`printf '\033OA'`*
en vano. También he intentado canalizar la salida de ls de ese directorio en od
vano.
¿Que más puedo hacer? ¿O qué personaje estoy buscando de todos modos?
Gracias
ls -b
, que debería mostrar escapes de estilo CRespuestas:
Puede usar la
-b
opción tols
, que muestra caracteres no gráficos como secuencias de escape de estilo C.fuente
ls -aq
imprimirá todos los nombres de archivo, con un?
carácter no imprimible en lugar de cada uno. En muchas variantes de Unix,ls -AB
ols -Ab
(consulte su página de manual) imprimirá escapes octales. Conls -aq
, puede usar la salida mostrada como un patrón de shell.Otra forma de obtener el nombre del archivo de alguna manera es usar la terminación de su shell: ingrese
mv .
y presione Tabrepetidamente hasta que se inserte el nombre extraño.fuente
ls -q
no mostró el archivo mientras que lols -b
hizo. tal vez porque su nombre de archivo no era,[weird-character]OA.tex
pero realmente`printf %b '\033OA'`.tex
.
al principio del nombre del archivo, por lo que necesitals -Aq
ols -aq
. Y si usa comodines de shell, debe hacer lo.
explícito:*
no incluirá el archivo pero sí lo.*
hará.$DESTINATION/.$FILENAME
antes de mover el archivo a su nombre correcto. Por lo tanto, en la fuente, el archivo no tenía.
al principio de su nombre. Además, como se dijo,ls -q
no habría mostrado el archivo mientras que lols -b
hizo.