Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1772066
  • 博文数量: 184
  • 博客积分: 10122
  • 博客等级: 上将
  • 技术积分: 5566
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-08 12:32
文章存档

2011年(1)

2008年(183)

我的朋友

分类: LINUX

2008-03-01 15:40:39

例如我们要在文件 a 中找出 abcd 后面跟着的不是 123 的所有行,

假设文件 a 的内容为 :

[root@monitor root]# cat a
abcd123456
abcd(1)456
abcd32156
[root@monitor root]#

方法1 :(错误)

[root@monitor root]# egrep 'abcd[^1][^2][^3]' a --color
abcd(1)456
[root@monitor root]#

因为虽然 abcd32156 的 3 满足 [^1],但2 不满足 [^2] ,所以该行没有被列出,虽然它符合我们的条件

方法2 :(错误)

[root@monitor root]# egrep 'abcd([^1][^2][^3])' a --color
abcd(1)456
[root@monitor root]#
[root@monitor root]#

方法3 :(正确)

[root@monitor root]# egrep 'abcd[^1]2*3*' a --color
abcd(1)456
abcd32156
[root@monitor root]#

因为实际上我们只要保证 abcd 后面的第1个字符不是 1 就可以保证 abcd 后面的跟着的字符串不可能是 123 了,只要 d 后面不是1,则 2 ,3 可以出现多少次都无所谓
阅读(1638) | 评论(0) | 转发(1) |
0

上一篇:没有了

下一篇:snmpd 命令手册

给主人留下些什么吧!~~