选项-c统计匹配的行数:
[root@centos7 temp]# grep -oic abcd file 2 [root@centos7 temp]#
选项-v表示取反匹配,如输出/etc/passwd中不以/sbin/nologin结尾的行:
[root@centos7 temp]# grep -v "/sbin/nologin$" /etc/passwd root:x:0:0:root:/root:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt learner:x:1000:1000::/home/learner:/bin/bash
选项-f FILE表示以文件FILE中的每一行作为模式匹配:
[root@centos7 temp]# cat test
abcd
ABCD
[root@centos7 temp]# grep -f test file
ABCD
function abcd() {
[root@centos7 temp]#
选项-x表示整行匹配:
[root@centos7 temp]# grep -xf test file ABCD [root@centos7 temp]#
选项-w表示匹配整个单词:
[root@centos7 temp]# grep here file here there [root@centos7 temp]# grep -w here file here [root@centos7 temp]#
选项-h表示当多个文件时不输出文件名:
[root@centos7 temp]# cat /etc/passwd|grep ^root - /etc/passwd -h root:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash
选项-n表示显示行号:
[root@centos7 temp]# grep -n "^[r,l]" /etc/passwd 1:root:x:0:0:root:/root:/bin/bash 5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 24:learner:x:1000:1000::/home/learner:/bin/bash
选项-A N、-B N、-C N表示输出匹配行和其'周围行'
-A N 表示输出匹配行和其之后(after)的N行 -B N 表示输出匹配行和其之前(before)的N行 -C N 表示输出匹配行和其之前之后各N行 [root@centos7 temp]# grep -A 2 ^operator /etc/passwd operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin [root@centos7 temp]# grep -B2 ^operator /etc/passwd halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin [root@centos7 temp]# grep -C1 ^operator /etc/passwd mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin
选项-F视PATTERN为它的字面意思匹配(忽略字符的特殊含义),等同于执行命令fgrep:
[root@centos7 temp]# grep -F ^root /etc/passwd [root@centos7 temp]#
命令无输出
选项-E可以使用扩展的正则表达式,如同执行egrep命令:
[root@centos7 temp]# egrep "^root|^learner" /etc/passwd root:x:0:0:root:/root:/bin/bash learner:x:1000:1000::/home/learner:/bin/bash
使用扩展正则表达式意味着不需要转义就能表示字符的特殊含义,包括?,+,{,|,(和)。
选项-P表示使用perl的正则表达式进行匹配
如:
[root@centos7 ~]# echo "helloworld123456"| grep -oP "d+" 123456 [root@centos7 ~]#










