免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1648 | 回复: 1
打印 上一主题 下一主题

@搜索端口--正则表达式@ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-08 19:56 |只看该作者 |倒序浏览
@搜索端口--正则表达式@











文章出处http://blog.csdn.net/zhuying_linux/article/details/6822987

假如说我在一段代码中想搜出一个端口,那么怎么做呢,下面我们来看一个例子:

  1. [root@Test230 ~]# cat port
  2. <name>AdminServer</name><listen-address></listen-address></server><server><name>Server-230-1</name><listen-port>7002</listen-port><cluster>Cluster-1</cluster><listen-address>192.168.55.230</listen-address>
复制代码
我们的目的是提取那个端口7002,但是我们使用grep搜索出来却还是那段代码,因为这本来就是一行,例如:
  1. [root@Test230 ~]# cat port |grep "<listen-port>"
  2. <name>AdminServer</name><listen-address></listen-address></server><server><name>Server-230-1</name><listen-port>7002</listen-port><cluster>Cluster-1</cluster><listen-address>192.168.55.230</listen-address>
复制代码
至于那个awk,cut之类的觉得未免又有些麻烦,那么我们该怎么办呢,这个时候就应该想起正则表达式,它的功能相当的强大,看看下面就知道了~

[root@Test230 ~]# cat port |egrep -o '[0-9]{4}'
7002


假如我们的端口号有可能是5位的话,应该将上面的改成

[root@Test230 ~]# cat port |egrep -o '[0-9]{4,5}'
7002

下面我们来总结一下它的用法吧~

grep的用法:

x\{m\}
重复字符x,m次,如:/0\{5\}/匹配包含5个o的行。


x\{m,\}
重复字符x,至少m次,如:/o\{5,\}/匹配至少有5个o的行。

x\{m,n\}
重复字符x,至少m次,不多于n次,如:/o\{5,10\}/匹配5--10个o的行。


egrep的用法:


x{m}
重复字符x,m次,如:/0\{5\}/匹配包含5个o的行。

x{m,}
重复字符x,至少m次,如:/o\{5,\}/匹配至少有5个o的行。


x{m,n}
重复字符x,至少m次,不多于n次,如:/o\{5,10\}/匹配5--10个o的行。

论坛徽章:
0
2 [报告]
发表于 2011-12-22 19:03 |只看该作者
学习鸟  谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP