grep 指令使用 or 及 and 查两个条件以上

777次阅读  |  发布于3年以前

grep 指令是十分常用的字串搜索工具,可以对档案或 pipe 输入进行搜索,而 grep 指令也可以使用 or 或 and 对两个以上条件搜索。

OR

以下几种方法,也可以实现 or 搜索,会对两种字串进行搜索,只要符合其中一个条件,即会印出那行的内容:

$ grep ‘pattern1\|patten2’ file.txt
$ grep -E ‘pattern1|pattern2’ file.txt
$ egrep ‘pattern1|pattern2’ file.txt
$ grep -e pattern1 -e pattern2 file.txt

AND

除了 or 的用法,也可以有 and 的用法,即需要同时符合两个条件:

$ grep -E ‘pattern1.*pattern2’ file.txt
$ grep -E ‘pattern1.*pattern2|pattern2.*pattern1’ file.txt
$ grep -e pattern1 -e pattern2 file.txt

备注:

grep  "2021-09-27 0[56789]" info.2021-09-27.log|grep -oh '"realName":"\w\+'|sort|uniq -c
grep   "2021-09-27 0[56789]"  info.2021-09-27.log|grep'"action":"SEARCH"' 
grep   "2021-09-27 0[56789]"  info.2021-09-27.log|grep -oh  '"username":"\w\+'|sort|uniq-c|wc -l
2337

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8