Remove o arquivo com 'in name

2

Em algum momento eu criei um arquivo com: 'nele. Como posso removê-lo?

ls -la retorna:

-rw-rw-r--  1 ec2-user ec2-user     0 Sep 25 23:01 'which
    
por ehacinom 13.10.2014 / 20:14

4 respostas

4

Existem muitas maneiras:

  1. Cite o nome do arquivo

    rm ''which'
    
  2. Escape do personagem ofensivo

    rm \'which
    
  3. Use o shell globbing (com a solicitação, caso haja outros arquivos correspondentes)

    rm -i ?which
    rm -i *which
    
  4. Use find (observe que, como o @Braiam apontou abaixo, isso irá encontrar todos os arquivos que combinam no diretório atual e podem excluir mais do que você esperava.)

    find . -name ''which' -exec rm {} \;
    find . -name ''which' -delete
    
por 13.10.2014 / 20:29
3

Se você tem 'personagens engraçados' no seu nome de arquivo e não consegue digitá-los, você pode fazer:

rm -i *which*

em que which é a parte que consiste em caracteres normais.

O -i (para interativo) garante que você seja avisado antes de remover qualquer nome de arquivo correspondente, portanto, você pode pular todos os resultados que não deseja excluir.

    
por 13.10.2014 / 20:27
1

Você pode removê-lo, escapando do caractere ofensivo com uma barra invertida. Você pode digitar

rm \'which

e isso fará o truque.

    
por 13.10.2014 / 20:18
1

Isso acontece. Se o seu nome de arquivo é

'which 

você deve usar

mv ''which' which

Você precisa usar este ' em torno do seu nome de arquivo, pois ele tem um caractere especial antes do nome do arquivo.

    
por 13.10.2014 / 20:17

Tags