文本搜索工具,根据用户指定的“模式(pattern)”对目标文本进行过滤,显示被模式匹配到的行。
命令格式:grep [options] pattern filename。grep适合单纯的查找或匹配文本。grep是区分大小写的。
匹配参数[options]:
-i 不区分大小写,忽略字符大小写
-v 后面接啥排除啥,取反,显示不被pattern匹配到的行
-n 显示匹配结果的行号
-c 统计匹配结果的行数
-o 仅显示匹配到的字符串,不把整行显示出来
-e 实现多个选项的匹配,逻辑or关系
-q 静默模式,不输出任何信息。与"echo $"合用,查看是否匹配到,0表示匹配到,1表示没有匹配到
-Ax:显示匹配结果所在行以及该行之后的指定行数,x是行数,A:after。
-Bx:显示匹配结果所在行以及该行之前的指定行数,x是行数,B:before。
-Cx:显示匹配结果所在行以及该行之前和该行之后的指定行数,x是行数,C:context
--color 显示颜色
-E 使用ERE,相当于egrep
[root@localhost ~]# grep "root" /etc/passwd # 找到root所在的所有行并显示
[root@localhost ~]# grep -v "root" /etc/passwd # 找到除root外的所有行并显示
[root@localhost ~]# grep -n "root" /etc/passwd # 显示行号
[root@localhost ~]# grep -c "root" /etc/passwd # 显示匹配结果的行数
[root@localhost ~]# grep -A2 "root" /etc/passwd # 匹配含有root的行,以及该行的后两行
[root@localhost ~]# grep -e "root" -e "myuser" /etc/passwd