常用选项
-E :开启扩展(Extend)的正则表达式。
-i :忽略大小写(ignore case)。
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
-n :显示行号
-w :被匹配的文本只能是单词,而不能是单词中的某一部分。
-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
-o :只显示被模式匹配到的字符串。
--color :将匹配到的内容以颜色高亮显示。
-A n:显示匹配到的字符串所在的行及其后n行,after
-B n:显示匹配到的字符串所在的行及其前n行,before
-C n:显示匹配到的字符串所在的行及其前后各n行,context
1、搜索/var/log/secure下,失败的log。
[root@maintain data]# grep -i 'failed' /var/log/secure Sep 24 13:25:11 localhost login: pam_systemd(login:session): Failed to release session: Interrupted system call Sep 27 02:58:13 maintain login: FAILED LOGIN 1 FROM tty1 FOR (unknown), User not known to the underlying authentication module Sep 27 06:45:29 maintain sshd[1115]: pam_systemd(sshd:session): Failed to release session: Interrupted system call Sep 27 06:45:32 maintain sshd[1093]: pam_systemd(sshd:session): Failed to release session: Interrupted system call Sep 27 07:03:45 maintain sshd[1138]: pam_systemd(sshd:session): Failed to release session: Interrupted system call Sep 27 07:40:19 maintain sshd[1188]: pam_systemd(sshd:session): Failed to release session: Interrupted system call
2、在/etc/selinux/config下,忽略#号开头和空白行
[root@maintain data]# egrep -v '^#|^$' /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted
3、只匹配Gogo的行 和 只匹配Gogo的单词
[root@maintain data]# cat reg.txt Zhang Dandan 41117397 :250:100:175 Zhang Xiaoyu 390320151 :155:90:201 Meng Feixue 80042789 :250:60:50 Wu waiwai 70271111 :250:80:75 Liu Bingbing 41117483 :250:100:175 Wang Xiaoai 3515064655 :50:95:135 Zi Gege 1986787350 :250:168:200 Li Youjiu 918391635 :175:75:300 Lao Nanhai 918691635 :250:100:175 [root@maintain data]# grep -w 'Gege' reg.txt Zi Gege 1986787350 :250:168:200 [root@maintain data]# grep -o 'Gege' reg.txt Gege
4、过滤出来的内容,并显示行号
[root@maintain data]# grep -n 'maintain' hosts 3:192.168.100.101 maintain