【发布时间】:2021-06-27 03:30:11
【问题描述】:
我正在单个搜索中搜索多个单词,如下所示
egrep -rin 'abc|bbc' folder
我想在结果中获得带有搜索关键字的输出,例如
abc:folder/1.txt:32:abc is here
bbc:folder/ss/2.txt:2: bbc is here
【问题讨论】:
-
至少 GNU(Linux+) 和 FreeBSD(Mac) 版本的
grep具有--color(或--colour),如果您使用不同的颜色突出显示与正则表达式匹配的行部分终端/模拟器支持它——今天几乎所有人都支持它,尽管早在 70 年代和 80 年代人们使用各种各样的真实/硬件终端时,很多人都没有。注意对于完全不相交的字符串而不是-E 'foo|bar',您可以使用多个非扩展正则表达式-e foo -e bar -
您要搜索的正则表达式还是打印与正则表达式匹配的字符串?如果正则表达式在一行上匹配多次,输出应该是什么?当您说
multiple words时,这是否意味着您实际上想要进行全字字符串比较,而不是示例中所示的部分行正则表达式比较? -
请edit 将您的问题包含在minimal reproducible example 中,其中包含简洁、可测试的样本输入和预期输出,以便我们为您提供帮助。不要只向我们展示微不足道的、阳光明媚的东西 - 向我们展示包含正则表达式元字符的搜索字符串、匹配输入中单独存在的“单词”以及作为其他单词的子字符串存在等。请参阅stackoverflow.com/questions/65621325/…有关如何针对此类问题提出和创建minimal reproducible example 的更多信息。
标签: grep