【命令名称】:egrep
【使用权限】:所有人
【功能说明】:寻找含有一个或多个字符的文件
【命令语法】:
          egrep [-f] file1 file2    #把要查询写在file1里,然后以f参数来查询file2
          egrep   ‘a|b’ file       #在file文件里查找a或b的行
          其它的【命令语法】跟grep一样
【常用参数】:
  

RE字符
意义与范例
+
意义:重新‘一个或者一个以上’的前一个RE字符
范例:搜寻(god)(good)(goood)……等等的字串,那个o+代表‘一个以上的o’
egrep –n ‘go+d’ regular_express.txt
?
意义:‘0个或者1个’的前一个RE字符
范例:搜寻(gd)(god)这两个字符串。那个o?代表‘空的或1个o’,这两个案例(‘go+d’与‘go?d’)的结果集合与‘go*d’相同
egrep –n ‘go?d’regular_express.txt
|
意义:用或(OR)的方式找出数个字符串
范例:搜寻gd或者good这两个字符串,注意是或!
egrep –n ‘gd|good|dog’ regular_express.txt
()
意义:找出‘群组’字串
范例:搜寻(glad)或者(good)这两个字符串,因为g和d是重复的,所以我们就可以将la和oo列于()当中,并以|来分隔出来,
Egrep -n ‘g(la|oo)d’ regular_express.txt
()+
意义:将‘AxyzxyzxyzxyzC’用echo叫出,然后使用如下方法搜寻一下!
   Echo ‘AxyzxyzxyzxyzC’ | egrep ‘A(xyz)+C’
意思是我要找开头是A结尾是C,中间有一个以上的“xyz”字串的意思

 
        -f   #把要取的字段放在一个文件里,用-f来调用
        -o #只显示出匹配的内容
【命令实例】: 
1在passwd同时查找root,cxc
[cxc@cxcserver ~]$ egrep 'root|cxc' /etc/passwd  
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
cxc:x:500:500::/home/cxc:/bin/bash
 
2 输入测试字符串
[cxc@localhost ~]$ cat >>cxc.txt <<eof            
> good
> glad
> god
> gooood
> oldboy
> olldbooooy
> eof
 
3 寻找含有一个或者1个以上的o
[cxc@localhost ~]$ egrep 'go+' cxc.txt       
Good 
god
gooood
 
4 寻找0个或者1个O
[cxc@localhost ~]$ egrep 'go?' cxc.txt            
good
glad
god
gooood
 
5 寻找含有good或者glad的行
[cxc@localhost ~]$ egrep 'good|glad' cxc.txt      
good
glad
 
6 另一种方法寻找含有good或者glad的行
[cxc@localhost ~]$ egrep 'g(oo|la)d' cxc.txt       
good
glad
7 寻找2个o,4个o以上的行
[cxc@localhost ~]$ egrep 'g(oo)+d' cxc.txt         
good
gooood
[cxc@localhost ~]$