4

出于某种原因,负浮点数的比较awk似乎sort在我的机器上被破坏了。看来-0.1 < -0.2

当我尝试排序时

0.2
-0.1
-0.2
0.1
0

使用sort -n test.dat,我得到

-0.1
-0.2
0
0.1
0.2

代替

-0.2
-0.1
0
0.1
0.2

我是怎么了?

4

1 回答 1

4

答:你是法国人!

在法语中,小数点是逗号 ( ,) 而不是点 ( .)。您需要用逗号替换点或更改您的语言环境。

尝试一下LC_NUMERIC=us_EN.UTF-8 sort -n test.dat,您应该会得到预期的结果。

供您参考,LC_NUMERIC是一个环境变量,其中包含用于格式化非货币数字的语言环境。

于 2013-11-14T18:47:12.120 回答