首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将reg匹配组合在一个输出中?

如何将reg匹配组合在一个输出中?
EN

Stack Overflow用户
提问于 2022-11-15 20:53:11
回答 1查看 22关注 0票数 0

我想将grep的一个输出合并到这两个独立的结果中。我应该使用什么reg表达式匹配?

代码语言:javascript
运行
复制
grep "NS" file.txt 
 ftx.domainname.example.com  3600    IN    NS    ftxns01.domainname.example.com
代码语言:javascript
运行
复制
grep "^sdfns[0-9]" file.txt 

ftxns001-oob.domainname.example.com. 86400 IN A    192.168.30.2
ftxns001.domainname.example.com.   86400 IN A    192.168.2.2

我可以包括什么来排除"-oob“

对我来说,理想的最终效果是:

代码语言:javascript
运行
复制
ftx.domainname.example.com  3600    IN    NS    ftxns01.domainname.example.com
ftxns001.domainname.example.com.   86400 IN A    192.168.2.2

我想,将前两个结果连在一起就能得到接近的结果,但是在尝试grep [^oob][^-oob]时,不能排除名字中有“grep [^oob]”的主机名。

EN

回答 1

Stack Overflow用户

发布于 2022-11-15 21:00:21

可以使用grep -v排除与模式匹配的行。

代码语言:javascript
运行
复制
grep "^sdfns[0-9]" file.txt | grep -v -e '-oob' 

或者,如果您有grep,您可以使用-P获取PCRE,然后使用负前瞻性。

代码语言:javascript
运行
复制
grep '^sdfns\d+(?!-oob)' file.txt

[^-oob]不起作用,因为它与不在列表中的单个字符匹配,并不是为了排除整个字符串。它与[-oob]相反,它与集合中的单个字符相匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74452037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档