例如我们要在文件 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 可以出现多少次都无所谓
阅读(1664) | 评论(0) | 转发(1) |