Excluindo arquivo com caracteres reservados via SSH

0

Durante o desenvolvimento de um aplicativo do lado do servidor, criei acidentalmente alguns arquivos com nomes semelhantes a este:

<?php echo $_GET[\'team\'] ?>files.json

Mesmo depois de adicionar as barras invertidas necessárias para tentar rm desses arquivos, o Terminal diz que esses arquivos não existem. Minha GUI de FTP também não os excluirá.

Gostaria de receber ajuda sobre como lidar com essa situação. Não consegui encontrar nada por meio do Google ou do estouro de pilha.

    
por james_womack 03.02.2012 / 23:16

2 respostas

0

Eu poderia ter usado um padrão mais preciso, mas foi o que fiz:

Eu ended up fazendo backup dos meus arquivos JSON legítimos e criando um script perl em um subdiretório que excluiria todos os arquivos JSON desse diretório:

$filepath= "../*.json";
@jsonPattern=glob($filepath);
unlink @jsonPattern;

Então eu corri o CD-ing nesse subdir e inserindo perl nameOfMyScript.perl

    
por 04.02.2012 / 00:38
0

Uma abordagem comum é usar algo como Perl ou Ruby para excluir o arquivo:

perl -e 'unlink("random crazy file")'
ruby -e 'File.unlink("random crazy file")'

Isso evita toda a coisa da concha.

A outra maneira fácil de fazer isso, com um shell interativo como o bash, é digitar rm fi , apertar tab e deixar o bash completar o nome do arquivo para você. Isso cita bem.

    
por 03.02.2012 / 23:18