linux 扩展正则表达式 egrep

 

 

使用命令为grep -E 及egrep

 

[root@MongoDB ~]# cat mike.log 
I am mike!
I like linux.

I like play football, tennis and reading.
my qq is 123456789!
my blog is https://i.cnblogs.com
my blog is i.miek.com
I am miek.
not MIEK
NOT MIKE

miiike
miiiie
me

 

1. + 重复一个或一个以上前面的字符 区别于(*是0或多个)

 

[root@MongoDB ~]# egrep "mi+e" mike.log 
my blog is i.miek.com
I am miek.
miiiie

 

 

*与+的区别

[root@MongoDB ~]# egrep "mi*e" mike.log 
my blog is i.miek.com
I am miek.
miiiie
me

 

 

2.? 重复0个或一个0 或者没有 的前面字符 (与.区别 是有且只有1个)

查i有一个 或者没有的m开头 e结尾的字符串 

 

[root@MongoDB ~]# egrep "mi?e" mike.log 
my blog is i.miek.com
I am miek.
me

 

?与.区别

找i有一个的 m开头 e结尾字符串

[root@MongoDB ~]# egrep "mi.e" mike.log 
I am mike!

 

 

3.| 表示过滤多个字符串

 

[root@MongoDB ~]# egrep "3306|1521" /etc/services 
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL
ncube-lm        1521/tcp                # nCube License Manager
ncube-lm        1521/udp                # nCube License Manager

 

4.() 分组过滤 反向引用

 

[root@MongoDB ~]# egrep "mi(ke|ek)" mike.log 
I am mike!
my blog is i.miek.com
I am miek.

 

posted @ 2019-06-02 21:10  minger_lcm  阅读(213)  评论(0编辑  收藏  举报