繁体   English   中英

bash中点的通配符是什么?

[英]What's the wildcard for dot in bash?

我有类似0001.file1.email.data.spam.txt和0001.file1.email.data.spam_1.txt的文件

现在,我想删除所有以“ _1.txt”结尾的文件,我尝试使用“ rm -rf * spam_1.txt”,但是找不到文件。 可能是因为*无法视为点。

点是一个文字字符,仅与之匹配。

*通配符匹配任何字符序列,而? 通配符匹配任何单个字符,但是通配符匹配将忽略以点开头的文件,除非您启用了dotglob (默认情况下处于关闭状态)。

您可以轻松检查通配符表达式匹配哪些文件,例如

printf '>>%s<<\n' *spam_1.txt

>> ... <<装饰只是为了易于查看任何前导或尾随空白,而并非必须如此。)

在没有nullglob的情况下,如果找不到任何匹配项,则上面的代码将打印通配符本身。 如果通配符不匹配,还请检查一下failglob ,这会导致打印错误并中止命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM