如何使用特殊字符删除此文件

问题描述 投票:1回答:3

我正在尝试删除的文件包含文件名中的特殊字符。这是文件从vim编辑器看起来的样子(如果我通过vi打开目录) -

<200c>minaldi.pdf

我尝试了所有可能的方法,我知道文件删除,例如找到“inum”,使用转义序列但似乎没有任何帮助。

我试过了 -

find . -type f -inum 37700 -exec rm '{}' \;
rm: cannot remove `./‌minaldi.pdf': No such file or directory 

这里37700是文件的内容。

这是使用ls |的文件名cat -v命令 -

M-bM-^@M-^Lminaldi.pdf

并使用ls | od -bc命令 -

0000000 342 200 214 155 151 156 141 154 144 151 056 160 144 146 012
        342 200 214   m   i   n   a   l   d   i   .   p   d   f  \n
0000017
bash rm
3个回答
1
投票

您可以使用find的内部删除参数:

find . -type f -inum 37700 -delete

0
投票

使用echo逃脱:

rm "$(echo -en './‌\xE2\x80\x8Cminaldi.pdf')"

0
投票

如果它只是一次删除而不是在脚本中使用,请使用-i进行交互。尽可能多地指定文件名,这样就不必经历太多文件名:

rm -i *minaldi.pdf

这将询问与模式匹配的每个文件是否要删除它。

© www.soinside.com 2019 - 2024. All rights reserved.