shell入门-grep-3-egrep

grep -E == egrep

[root@wangshaojun ~]# grep --color 'r?o' 1.txt == egrep --color 'r?o' 1.txt ^C
[root@wangshaojun ~]# egrep --color 'r?o' 1.txt

root:x:0:0:root:/root:/bin/bash   //roo中ro匹配一次 o匹配一次
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

 .......

特殊符号‘+’  表示1个或多个+号前面的字符

[root@wangshaojun ~]# egrep --color 'r+o' 1.txt

[root@wangshaojun ~]# grep --color -E 'r+o' 1.txt

[root@wangshaojun ~]# grep --color 'r+o' 1.txt


root:x:0:0:root:/root:/bin/bash
syrrrrrrrrronc:x:5:0:sync:/sbin:/bin/sync
halt:x:7:rro0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin

.....

////////////////////////////////////////////////////////////////////////////////////

总结特殊符号

.     任意一个字符

*   *号前面的字符0个或多个

.*  任意个任意字符

?  0或1个?前面的字符

+  1或多个+或前面的字符

《?+需要用egrep》

///////////////////////////////////////////////////////////////////////////////////

表示或者  包含root 或者nologin都可以匹配到

[root@wangshaojun ~]# egrep --color 'root|nologin' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

.....

表示并且   包含‘root’并且包含‘nologin’的

[root@wangshaojun ~]# grep --color 'root' 1.txt |grep --color 'nologin'

operator:x:11:0:operator:/root:/sbin/nologin

表示整体  

[root@wangshaojun ~]# egrep --color '(rr)+' 1.txt   ///表示出现1次或多次rr 
syrrrrrrrrronc:x:5:0:sync:/sbin:/bin/sync
halt:x:7:rro0:halt:/sbin:/sbin/halt
gopher:x:1rrrro3:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FrrroTP User:/var/ftp:/sbin/nologin

.....

给整体指定一个范围

[root@wangshaojun ~]# egrep --color '(rr){1,3}' 1.txt
syrrrrrrrrronc:x:5:0:sync:/sbin:/bin/sync
halt:x:7:rro0:halt:/sbin:/sbin/halt
gopher:x:1rrrro3:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FrrroTP User:/var/ftp:/sbin/nologin

给整体指定一个倍数

[root@wangshaojun ~]# egrep --color '(rr){3}' 1.txt
syrrrrrrrrronc:x:5:0:sync:/sbin:/bin/sync

///////////////////////////////////////////////////////////////////////////////////

总结:? + () {} 需要用egrep       grep -E     grep

原文地址:https://www.cnblogs.com/wangshaojun/p/4975945.html