使用grep从file.txt提取.conf文件如何排除dconf和config后缀文件
grep匹配.conf后缀文件的修正方案
你原来的命令出现非预期结果有两个核心原因:
.在grep正则中是通配符,可匹配任意单个字符,因此会命中dconf这类字符中间带conf的内容- 没有限定
.conf必须出现在行尾,因此会命中.config这类后缀更长的内容
正确命令
直接使用如下命令即可仅匹配后缀为.conf的文件名:
grep '\.conf$' file.txt
规则说明:
\.对.做转义处理,仅匹配字面意义的英文点号,排除dconf这类没有点的匹配结果$是正则行尾锚定符,限定.conf必须出现在行的末尾,排除.config这类后缀后还有其他字符的匹配结果
如果你的file.txt中每行文件名后可能存在空格、制表符等空白字符,可以使用适配行尾空白的版本:
grep '\.conf[[:space:]]*$' file.txt
内容的提问来源于stack exchange,提问作者nobody
相关产品推荐
相关产品推荐

