发现在使用 sort 或 grep 等工具的时候,LANG 会影响到速度。
1.5G 的文件,grep -Ei ‘keyword’ file, LANG=C 的时候执行时间是 22 秒,LANG=en_US.UTF-8 的时候,执行时间是 3分53秒,最后结果是一样的。
这还不是最恐怖的,恐怖的是下面的
$ cat a a b C d E $ LANG=en_US.UTF-8 egrep '[a-z]' a a b C d E $ LANG=C egrep '[a-z]' a a b d
以后用这些工具还是小心一点吧。。。。。
Related posts:
5 Comments
不是吧,我这儿结果都一样阿,ubuntu 10.04
vvoody@luo:~/lab$ cat a
a
b
C
d
E
vvoody@luo:~/lab$ LANG=en_US.UTF-8 egrep ‘[a-z]‘ a
a
b
d
vvoody@luo:~/lab$ LANG=C egrep ‘[a-z]‘ a
a
b
d
vvoody@luo:~/lab$
你那有 en_US.UTF-8 这个 locale 么?
$ locale -a
C
en_US.utf8
POSIX
zh_CN.utf8
$ LANG=en_US.gbk egrep ‘[a-z]‘ a
a
b
d
如果是一个没有的 locale,结果也是正确的。
没有 zh_CN.gbk 的时候
$ LANG=zh_CN.gbk egrep ‘[a-z]‘ a
a
b
d
我加了一个 zh_CN.gbk 后,结果是这样的。。…
$ LANG=zh_CN.gbk egrep ‘[a-z]‘ a
a
b
C
d
E
$ locale -a
C
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
zh_CN.utf8
zh_SG.utf8
GNU grep 2.5.1-cvs
都正常的结果
我靠,我也不知道怎么回事了,我的 grep 2.6.3