由于某些原因,我的机器上的负浮点数与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
我有什么问题?
答案 0 :(得分:3)
答案:你是法国人!
在法语中,小数点是逗号(,
)而不是点(.
)。您需要用逗号替换圆点或更改您的区域设置。
尝试LC_NUMERIC=us_EN.UTF-8 sort -n test.dat
,你应该得到预期的结果。
有关您的信息,LC_NUMERIC
是一个环境变量,其中包含用于格式化非货币数字的区域设置。