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.

猜你喜欢

转载自www.cnblogs.com/mingerlcm/p/10931801.html