Excluir arquivo com nome quebrado

2

De alguma forma, criei um arquivo que não consigo descobrir como excluir via CLI.

$ ls -alF
total 8195
-rw-r--r--+ 1 me             my_group           0 Jul 19 14:10 ''$'\r'
drwxrwx---+ 1 system         system             0 Nov 17 14:58  ./
drwxr-xr-x+ 1 system         system             0 Jul 17 15:40  ../
...

O primeiro item de linha aqui não consigo encontrar a sequência de escape correta para poder excluir.

A tentativa de grep esta entrada nem funciona corretamente:

$ ls -alF | head -n2
total 8195
-rw-r--r--+ 1 me             my_group           0 Jul 19 14:10

Note que ao usar / usar outros comandos pipe'd, eu nunca consigo ver o nome do arquivo.

este é um ambiente Win10 envolvido pelo Cygwin

    
por Matt Clark 17.11.2017 / 21:05

2 respostas

3

Duas sugestões:

  1. Execute ls -li para obter o inode e use find para excluí-lo.

    ls -li foo
    42 -rw-r--r--. 1 user group 0 Nov 17 15:07 foo
    

Se o inode tiver 42, como no exemplo acima, execute: find . -inum 42 -exec rm -i {} \; , que interativamente solicitará que você remova o arquivo.

  1. Execute rm -i ? ?? ??? para que o shell seja expandido para os nomes de arquivo de um, dois e três caracteres no diretório atual; um deles parecerá estar em branco e provavelmente é o arquivo em questão; simplesmente responda "não" aos prompts para remover os arquivos que você deseja manter.
por 17.11.2017 / 21:10
0

Eu tentei criar um arquivo com o mesmo nome que o seu e consegui excluí-lo com rm todas as vezes. Você sabe qual versão do rm você instalou? Talvez a versão que você tem seja buggy? Eu suponho que você tentou simplesmente colocar o nome entre aspas duplas. Se não, tente.

No caso de não funcionar, sugiro que você tente usar o rm com alguns curingas. Mova todos os outros arquivos para fora da pasta e apenas execute o seguinte.

rm -f "*"

Isso só me falhou uma vez, quando o próprio sistema de arquivos estava corrompido, e o fsck não tocou nele. Sinceramente, deixei o arquivo lá até a próxima reformatação.

    
por 17.11.2017 / 21:34

Tags