Excluindo um arquivo com pontos de interrogação no nome (outra codificação) no Debian

1

Eu tenho um arquivo com o nome como ?????????????????????? ???????????????????????? ??????????.png no meu diretório. Parece-me que o arquivo foi criado em janelas com nome russo. Eu puxei com git e agora não consigo compilar meu programa. E eu não consigo deletá-lo no debian.

rm: cannot remove '??????????????????????': No such file or directory

rm: cannot remove '????????????????????????': No such file or directory

rm: cannot remove '??????????.png': No such file or directory

Eu tentei usar aspas em torno do nome do arquivo, mas não funciona.

Como deve excluir arquivos com nomes como este?

    
por djsmiley2k 24.11.2012 / 15:11

2 respostas

3

Use apenas rm -i <wildcard> ...

(py26_dfl)[mpenning@Bucksnort ~]$ rm -i *ng
rm: remove regular file 'IMAG0004-1.png'? n
rm: remove regular file '??????????.png'? y
(py26_dfl)[mpenning@Bucksnort ~]$
    
por 24.11.2012 / 15:23
2

O uso de curingas, como sugerido em outra resposta , é geralmente o modo mais rápido de selecionar um subconjunto de arquivos de seu diretório, mas nem sempre é possível usá-lo (por exemplo, no caso anterior, pelo menos você tem o sufixo de extensão em caracteres compreensíveis ).

rm -i *ng   # means remove all files that finish for ng

Outra maneira pode ser usar o número inode do arquivo.
Com um ls -i você terá a lista dos arquivos no diretório atual com o número do inode seguido do nome do arquivo. Segue um exemplo, obtido com ls -i1 apenas para ter a saída com um arquivo para cada linha:

14549004 Various_Command_.sh
14549512 Convert_Scan_Png_To_Jpg.sh
14579439 FILE_TO_DELETE

Depois que você pode excluir ou mover ou executar qualquer comando desejado, selecione o arquivo pelo número do inode . Por exemplo: para remove o arquivo FILE_TO_DELETE com o inode number 14579439 é possível escrever:

find . -inum 14579439 -exec rm -i {} \;

Nota: a opção -i após o comando remove existe para forçar o sistema a solicitar antes de cada remoção.
Para o uso de encontrar você pode ler a página man ou pesquisar na web alguns tutorial .

    
por 13.01.2015 / 15:47

Tags