Linux系统如何删除文件名含替换类特殊字符的指定文件
解决方案
你需要转义文件名中的方括号,避免shell将其解析为通配符,任选以下任意一条单命令执行即可:
- 用反斜杠对特殊字符逐个转义:
rm log\[1-3\] - 用单引号包裹整个文件名,强制shell将内容识别为字面量:
rm 'log[1-3]'
原理解释
shell中[]属于通配符语法的一部分,如果你直接输入rm log[1-3],系统会自动匹配所有文件名以log开头、后续字符为1、2、3的文件,也就是你目录下的log1、log2、log3,完全匹配不到字面名称为log[1-3]的目标文件。通过转义或者单引号包裹的处理,就可以让系统忽略[]的通配符含义,精准定位到你要删除的目标文件。
内容的提问来源于stack exchange,提问作者Alexey
相关产品推荐
相关产品推荐

