Grep'OR'正则表达式问题

本森博士

我正在尝试使用带有正则表达式的grep在文件中查找与2个可能的字符串之一匹配的行。这是我的grep:

$ grep "^ID.*(ETS|FBS)" my_file.txt

上面的grep不返回任何结果。但是,如果我执行以下任一操作:

$ grep "^ID.*ETS" my_file.txt  

或者

$ grep "^ID.*FBS" my_file.txt  

我确实匹配特定的行。为什么我的OR正则表达式不匹配?在此先感谢您的帮助!

摇床

与正常的正则表达式,人物(|并且)需要进行转义。所以你应该使用

$ grep "^ID.*\(ETS\|FBS\)" my_file.txt

使用扩展的regex-E)选项时,您不需要转义请参阅man grepBasic vs Extended Regular Expressions部分

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章