gnu coreutils是否已损坏?

里奥·阿列克谢耶夫(Leo Alekseyev)

考虑以下输入进行排序:

cat > foo <<EOM
D,,5014978
DD,,25
D,I,1972765530
D,Y,4223624
-,Y,71285059
YA,I,2
EOM

现在尝试运行 sort foo

在我的任何Linux机器上尝试对输出进行排序时(gnu coreutils 6.9-7.4版)。在cygwin(gnu coretuils 8.5)下运行时,输出进行排序。评论?

短暂的

排序取决于语言环境;具体来说,它取决于$LC_COLLATE(可能被覆盖$LC_ALL),$LANG如果不存在回退到该值。该命令locale将向您显示您正在有效使用的值。man 3 strcollman 3 setlocale等等。

LC_COLLATE=C(或POSIX根本没有语言环境)会导致严格的逐字节比较。

LC_COLLATE=en_US.utf8 会导致字母等价排序,其中标点符号会被忽略,同一等价类中的字符会受到同等对待。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章