首页 > 代码库 > grep的扩展用法
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‘
查看IP信息:
[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 ~]#
本文出自 “HeZhang” 博客,请务必保留此出处http://hezhang.blog.51cto.com/1347601/1435168
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。