Excluindo arquivo com caracteres reservados via SSH

Excluindo arquivo com caracteres reservados via SSH

Ao desenvolver 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 rmesses arquivos, o Terminal diz que esses arquivos não existem. Minha GUI FTP também não os excluirá.

Gostaria de receber ajuda sobre como lidar com esta situação - não consegui encontrar nada via Google ou Stack Overflow.

Responder1

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 essa coisa de shell.

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

Responder2

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

Estou ended upfazendo backup de 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 executei isso fazendo cd naquele subdiretório e digitandoperl nameOfMyScript.perl

informação relacionada