LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 844|回复: 5

grep处理文件时 条件是否有数量限制???(版主帮帮忙看看)

[复制链接]
发表于 2007-4-18 15:36:22 | 显示全部楼层 |阅读模式
我有一语句如下:
grep -E '^.{64}(0020){1}.*|^.{64}(5000){1}.*|^.{63}(15050){1}.*|^.{63}(15130){1}.*|^.{63}(15160){1}.*|^.{63}(15210){1}.*|^.{63}(15260){1}.*|^.{63}(15400){1}.*|^.{63}(15510){1}.*|^.{63}(17201){1}.*|^.{63}(17203){1}.*|^.{63}(17205){1}.*|^.{63}(17208){1}.*|^.{63}(17209){1}.*|^.{63}(17212){1}.*|^.{63}(17213){1}.*|^.{63}(17215){1}.*|^.{63}(17216){1}.*|^.{63}(17217){1}.*|^.{63}(17219){1}.*|^.{63}(17221){1}.*|^.{63}(17222){1}.*|^.{63}(17223){1}.*|^.{63}(17227){1}.*|^.{63}(17228){1}.*|^.{63}(17229){1}.*|^.{63}(17230){1}.*|^.{63}(17290){1}.*|^.{63}(17300){1}.*|^.{63}(17301){1}.*|^.{63}(17302){1}.*|^.{63}(17303){1}.*|^.{63}(17332){1}.*|^.{63}(17334){1}.*|^.{63}(17335){1}.*|^.{63}(17339){1}.*|^.{63}(17340){1}.*|^.{63}(17341){1}.*|^.{63}(17342){1}.*|^.{63}(19470){1}.*|^.{63}(19480){1}.*|^.{63}(19495){1}.*|^.{63}(19500){1}.*|^.{63}(19530){1}.*|^.{63}(19540){1}.*|^.{63}(19560){1}.*|^.{63}(19570){1}.*|^.{63}(19590){1}.*'  "./filename.file"

这样运行就会报错:\(\) or () imbalance.
但是如果删除部分调节,最终保留22个条件,如下:
grep -E '^.{64}(0020){1}.*|^.{63}(17230){1}.*|^.{63}(17290){1}.*|^.{63}(17300){1}.*|^.{63}(17301){1}.*|^.{63}(17302){1}.*|^.{63}(17303){1}.*|^.{63}(17332){1}.*|^.{63}(17334){1}.*|^.{63}(17335){1}.*|^.{63}(17339){1}.*|^.{63}(17340){1}.*|^.{63}(17341){1}.*|^.{63}(17342){1}.*|^.{63}(19470){1}.*|^.{63}(19480){1}.*|^.{63}(19495){1}.*|^.{63}(19500){1}.*|^.{63}(19530){1}.*|^.{63}(19540){1}.*|^.{63}(19560){1}.*|^.{63}(19570){1}.*|^.{63}(19590){1}.*' "./filename.file"

这样运行就不会报错了。
请问高手这是怎么回事????
发表于 2007-4-18 16:41:49 | 显示全部楼层
imbalance应该是括号不匹配的意思吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-18 16:47:05 | 显示全部楼层
是不匹配的意思,但是如果单从表达式来说不应该出现不匹配的错误啊, 因为每个正则表达式都是一样的形式,并且我从这些里面选22个出来运行都不会出错, 如果23个就出错了。
难得grep对匹配有数量限制吗?
请好心人解答
回复 支持 反对

使用道具 举报

发表于 2007-4-18 17:24:14 | 显示全部楼层
那可能确实是长度的限制,导致egrep截取了前limit个字符,使得()不匹配了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-18 17:29:54 | 显示全部楼层
有办法解决不呢?
回复 支持 反对

使用道具 举报

发表于 2007-4-18 17:49:23 | 显示全部楼层
如果只是搜索一个文件的话用awk吧,把需要匹配的模式全部添加进去即可。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表