我想进入一个目录并递归地删除所有包含 ?
的文件名。
我wget
下载了一个网站和格式为index.html?p=46
的文件..额外标记为什么会这样。
我试过:
rm -R *?*
失败:删除了所有常规文件
rm -R *\?*
也失败了:目录没有这样的文件
最佳答案
试试这个:找到 . -iname '*\?*' -exec rm {}\;
$ ls
xxy x?y
$find . -iname '*\?*'
./x?y
$ find . -iname '*\?*' -exec rm {} \;
$ ls
xxy
至于为什么会发生,您 wget 的网站有指向 index.html 的链接并传递了这些参数,您(大概)告诉 wget 对其进行镜像。
关于Linux Glob 模式删除所有包含 '?' 的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24165234/