LinuxSir.cn,穿越时空的Linuxsir!

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

关于正则表达式^的一点疑问,请帮忙看看[已解决]

[复制链接]
发表于 2007-8-9 11:54:08 | 显示全部楼层 |阅读模式
被测试文件gsh内容如下:
$ more gsh
yrend.AS
mothdf
soa.PP
qp.RR
970.02
我现在想查找该文件中所有以数字开头的内容,输入命令:
grep '[^a-z A-Z]' gsh ,结果如下:
yrend.AS
soa.PP
qp.RR
970.02
是不是我查询命令有错?结果应该就是970.02啊!
后来输入: grep '[^a-z][^A-Z]' 显示结果:
970.02

输入:grep '[^0-9]'显示结果:
yrend.AS
mothdf
soa.PP
qp.RR
970.02
我想结果应该是
yrend.AS
mothdf
soa.PP
qp.RR

不知道是哪里错了?
发表于 2007-8-9 13:16:09 | 显示全部楼层
[root@lin1010 ~]# grep '^[^a-zA-Z]' test
970.02
[root@lin1010 ~]# grep '^[^0-9]' test
yred.AS
mothdf
soa.PP
qp.RR
要是这样的不加前面的脱字符的。
[root@lin1010 ~]# grep '[^a-zA-Z]' test
yred.AS
soa.PP
qp.RR
970.02
就会报文件中含有非字母的打印出来。因为里面含有.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-9 13:57:39 | 显示全部楼层
谢谢,看来"."的作用还是很大的

[smallfish@localhost 0700]$ grep '[^a-z.]' gsh
970.02

[smallfish@localhost 0700]$ grep '[^a-z]' gsh
Yuaaa.dd
yrend.AS
soa.PP
qp.RR
970.02
回复 支持 反对

使用道具 举报

发表于 2007-8-10 10:31:17 | 显示全部楼层
grep '^[0-9]' 不是以数字开头吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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