Você pode usar a opção -b
para ls
, que mostra caracteres não gráficos como sequências de escape no estilo C.
Eu tenho um pequeno problema com um erro muito teimoso durante um rsync. É causado por um arquivo com um caractere especial em seu nome de arquivo. Houve outros, mas eu poderia resolver isso fazendo alguma conversão na codificação do nome do arquivo. No entanto, este arquivo não consigo encontrar.
Então, eis o que o rsync diz:
../.\#033OA.tex.pyD0MB" failed: No such file or directory (2)
A primeira coisa que notamos é que o código do caractere não pode ser hexadecimal ou octal, então eu pesquisei no Google e encontrei apenas isto . Portanto, pode ser um caractere CURSOR UP
(ou não). Eu tentei
ls -la *'printf '3OA''*
sem sucesso. Eu também tentei canalizar a saída de ls desse diretório para od
sem sucesso.
O que mais posso fazer? Ou qual personagem estou procurando mesmo assim?
Obrigado
ls -aq
imprimirá todos os nomes de arquivos, com ?
em vez de cada caractere não imprimível. Em muitas variantes unix, ls -AB
ou ls -Ab
(verifique sua página de manual) imprimirá vazamentos octal. Com ls -aq
, você pode usar a saída exibida como um padrão de shell.
$ ls -Aq
.?OA.tex.pyD0MB
… more stuff …
$ mv -i .?OA.tex.pyD0MB weird-file
$ less weird-file
Outra maneira de obter o nome do arquivo é usar a conclusão do seu shell: digite mv .
e pressione Tab repetidamente até que o nome estranho seja inserido.