码迷,mamicode.com
首页 > 其他好文 > 详细

文本处理命令系列——grep的扩展用法

时间:2015-11-09 19:15:48      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:grep

正则表达式分为基本的正则表达式和扩展的正则表达式。

通常情况下,grep使用的是基本的正则表达式,如果要使用扩展的正则表达式,可以用-E选项,等同于egrep

grep的其他一些选项:

-A n:显示匹配行后面的n行,(after)。

-B n:显示匹配行前面的n行,(before)。

-C n:显示前后各n行。(context)

示例1:

[root@Server3 tmp]# grep --color -A 1 ‘^cpu MHz‘ /proc/cpuinfo
cpu MHz         : 2392.390
cache size      : 3072 KB
[root@Server3 tmp]#

[root@Server3 tmp]# grep --color -A 1 -B 2 ‘^cpu MHz‘ /proc/cpuinfo
model name      : Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz
stepping        : 7
cpu MHz         : 2392.390
cache size      : 3072 KB
[root@Server3 tmp]#
[root@Server3 tmp]# grep --color -C 2 ‘^cpu MHz‘ /proc/cpuinfo
model name      : Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz
stepping        : 7
cpu MHz         : 2392.390
cache size      : 3072 KB
fpu : yes
[root@Server3 tmp]#


扩展的正则表达式:

在扩展的正则表示式里面所使用的元字符和基本的正则表达式里面的元字符基本上都相同,区别主要有一下几个:

+:匹配前一个字符出现1次或多次。

{n,m}:前一个字符出现n到m次。

|:表示或。如a|b,则表示的是匹配a或b。

():表示分组,不需要使用反斜线。


[root@Server3 tmp]# grep -E ‘(C|c)at‘ aa
cat
Cat
[root@Server3 tmp]#


匹配1-255之间的数:

grep -E --color ‘\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b‘


[root@Server3 ~]# ifconfig bond0 | grep ‘inet addr‘ | grep -E --color -o ‘(\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.\b){3}\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b‘
172.17.100.252
172.17.100.255
255.255.255.0
[root@Server3 ~]#



本文出自 “热爱开源,乐于分享!” 博客,请务必保留此出处http://hezhanglinux.blog.51cto.com/10861477/1711027

文本处理命令系列——grep的扩展用法

标签:grep

原文地址:http://hezhanglinux.blog.51cto.com/10861477/1711027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!