LinuxSir.cn,穿越时空的Linuxsir!

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

^ 疑问

[复制链接]
发表于 2006-6-22 16:32:33 | 显示全部楼层 |阅读模式
who |egrep -v '^(oracle|weblogic)'

执行的结果是显示非oracle和非weblogic系统用户
-v 是不匹配的意思。

请问^符号在这里起什么作用?

谢谢
发表于 2006-6-22 16:36:24 | 显示全部楼层
匹配行的开始
$,匹配行的结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-22 17:40:55 | 显示全部楼层
who |egrep -v '^(oracle|weblogic)'

但是去掉^
who |egrep -v '(oracle|weblogic)'

执行的结果和上面一样,是不是默认就匹配从行首开始?

谢谢
回复 支持 反对

使用道具 举报

发表于 2006-6-22 18:25:10 | 显示全部楼层
不是。这个时候一样并不代表永远一样,你测试过极端情况吗?
回复 支持 反对

使用道具 举报

发表于 2006-6-22 19:54:23 | 显示全部楼层
不是的
因为在这个例子中who产生的输出 非oracle|weblogic 在行首

你可以试试:
echo "oracle aaaaaaaaa aaaaa" |egrep '^oracle'
echo "aaaaa oracle aaaaaa" |egrep 'oracle'
echo "aaaaa oracle aaaaaaa" |egrep '^oracle'    (没输出)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-23 14:51:54 | 显示全部楼层
Post by 52violin
不是的
因为在这个例子中who产生的输出 非oracle|weblogic 在行首

你可以试试:
echo "oracle aaaaaaaaa aaaaa" |egrep '^oracle'
echo "aaaaa oracle aaaaaa" |egrep 'oracle'
echo "aaaaa oracle aaaaaaa" |egrep '^oracle'    (没输出)


who 产生的输出,在行首的是什么呢?

谢谢
回复 支持 反对

使用道具 举报

发表于 2006-6-23 14:56:16 | 显示全部楼层
Post by soccer
who 产生的输出,在行首的是什么呢?



try it!

用户
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-23 15:10:49 | 显示全部楼层
who |egrep -v '(oracle|weblogic)'

我明白了,

egrep 是查询字符串里是否有该字符。

感谢你。
回复 支持 反对

使用道具 举报

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

本版积分规则

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