linux grep 同时搜索多个关键字(或关系)


排查线上问题时,经常会遇到要同时搜索多个关键词的情况,如下:

假设搜索yp-info.log文件中的,两个关键词 “开执行更新AAA” 和 “BBB状态”,本文主要讨论 “或”的情况,且的情况使用多个管道就可以了,不做讨论。

1、

less yp-info.log | awk "/开执行更新AAA|BBB状态/"

awk "/开执行更新AAA|BBB状态/" yp-info.log

2、

less yp-info.log | grep -E "开执行更新AAA|BBB状态"

 grep -E "开执行更新AAA|BBB状态" yp-info.log

3、

less yp-info.log | egrep "开执行更新AAA|BBB状态" 

 egrep "开执行更新AAA|BBB状态" yp-info.log