通过 SSH 删除带有保留字符的文件

通过 SSH 删除带有保留字符的文件

在开发服务器端应用程序时,我意外创建了几个名称类似于此的文件:

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

即使在我添加了必要的反斜杠以尝试访问rm这些文件后,终端仍说这些文件不存在。我的 FTP GUI 也不会删除它们。

我很高兴得到帮助来解决这种情况——我无法通过 Google 或 Stack Overflow 找到任何东西。

答案1

一种常见的方法是使用 Perl 或 Ruby 之类的东西来删除文件:

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

这避免了整个 shell 问题。

另一种简单的方法是使用 bash 之类的交互式 shell,键入rm fi,按 Tab 键,然后让 bash 为您完成文件名。这样引用效果很好。

答案2

我本可以使用更精确的模式,但这就是我所做的:

ended up备份了我的合法 JSON 文件,并在子目录中创建一个 perl 脚本,该脚本将删除该目录中的所有 JSON 文件:

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

然后我通过 cd 进入该子目录并输入perl nameOfMyScript.perl

相关内容