Linux Glob 模式删除所有包含 '?' 的文件?

标签 linux glob

我想进入一个目录并递归地删除所有包含 ? 的文件名。

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/

相关文章:

您能否编译一个共享对象以优先使用本地符号,即使它是由使用 -rdynamic 编译的程序加载的?

python - 从文本文件加载多个图像

python - 在 python 中使用 glob 获取文件列表

c - Globbing 在 C 中,如何排除文件

centOS 上的 Python netadd 模块

c++ - CentOS 5 内核头文件

linux - 无法使用 sed 转义反斜杠

regex - 为什么用**/*递归搜索当前目录:vimgrep vim command?

如果文件包含 $_GET[number],PHP 显示可供下载的文件

linux - 除了VNC,基于GNOME的远程桌面服务器中当前还有哪些选项?