Difícil de excluir arquivos no Linux

6

Há muitas coisas sobre isso na Internet, mas a maioria dos exemplos são inventados. Como se excluem arquivos que são realmente teimosos? por exemplo,

$ find ./ -inum 167794
./àKÈÿÿÿÿ@
$ find ./ -inum 167794 -exec rm \"{}\" \;
rm: cannot lstat '"./705K1
$ find ./ -inum 167794
./àKÈÿÿÿÿ@
$ find ./ -inum 167794 -exec rm \"{}\" \;
rm: cannot lstat '"./705K1%pre%407777@0%pre%2"': Invalid or incomplete multibyte or wide character
407777@0%pre%2"': Invalid or incomplete multibyte or wide character
    
por mgjk 13.04.2011 / 15:55

3 respostas

8

Tente remover as aspas duplas com escape. Eu acredito que o rm pensa que eles são parte do nome do arquivo.

find ./ -inum 167794 -exec rm {} \;
    
por 13.04.2011 / 16:16
6

Melhor maneira com a descoberta moderna (versão 4.2.3 ou posterior):

find ./ -inum 167794 -delete
    
por 17.08.2015 / 06:26
0

Se você quiser uma cotação segura para cada shell que eu conheço, use isto:

find ./ -inum 167794 -exec rm '{}' ';'
    
por 13.04.2011 / 17:30

Tags