Eliminar archivo con caracteres reservados a través de SSH

Eliminar archivo con caracteres reservados a través de SSH

Mientras desarrollaba una aplicación del lado del servidor, accidentalmente creé un par de archivos con nombres similares a este:

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

Incluso después de agregar las barras invertidas necesarias para probar rmesos archivos, Terminal dice que esos archivos no existen. Mi GUI de FTP tampoco los eliminará.

Agradecería ayuda sobre cómo lidiar con esta situación. No pude encontrar nada a través de Google o Stack Overflow.

Respuesta1

Un enfoque común es utilizar algo como Perl o Ruby para eliminar el archivo:

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

Eso evita todo el asunto del caparazón.

La otra forma sencilla de hacerlo, con un shell interactivo como bash, es escribir rm fi, presionar el tabulador y dejar que bash complete el nombre del archivo por usted. Eso cita bien.

Respuesta2

Podría haber usado un patrón más preciso, pero esto es lo que hice:

Hago ended upuna copia de seguridad de mis archivos JSON legítimos y creo un script Perl en un subdirectorio que eliminaría todos los archivos JSON en ese directorio:

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

Luego lo ejecuté haciendo CD en ese subdirectorio e ingresandoperl nameOfMyScript.perl

información relacionada