日期:2014-05-16  浏览次数:20756 次

Linux请教一个awk的问题
[root@build-loan include]# awk 'BEGIN {print match("A", /a/)}'
0
[root@build-loan include]# awk 'BEGIN {print match("A", /[a-z]/)}'
1
[root@build-loan include]# LANG=C awk 'BEGIN {print match("A", /[a-z]/)}'
1

请教一下为什么match匹配[a-z]是会返回1。谢谢

------解决方案--------------------
可能是你的环境问题吧。

我这里测试没有问题,正常情况下,设置LANG C之后应该是:
[root]# awk 'BEGIN {print match("A", /[a]/)}'
0

试试这样:
export LC_ALL=C; awk 'BEGIN {print match("A", /[a-z]/)}'