Home

zhangyiqun

Thoughts, stories and ideas.

Notes Blog Archives About
16 Feb 2009

[正则]-匹配数字

今天在shell版块中看到一个提问帖。

有一个c文件:

[root@zhang shell]# cat c

aa bb.cc 192.168.1.4

aa bb.cc 192.168.1.100

aa bb.cc 192.168.1.1

aa bb.cc 192.168.1.102

aa bb.cc 192.168.1.200

aa bb.cc 192.168.1.201

要打印出192.168.1.100-200的行

怎么我用sed -n ‘/192.168.1.[100-200]/p’ c出来的有1和201的呢?

因为-(连字符)表示一个范围。所以这里的100-200并未表示100至200间的数字,而是过滤出含有1,0,2的字段。

解决办法

sed -n ‘/192.168.1.[12][0-9][0-9]/p’

原帖地址 http://bbs2.chinaunix.net/viewthread.php?tid=1371094&extra=&page=2

我的回答在第13楼

Notes Blog Archives About