如何对这种输入进行排序?
0.00159265291648695254
-0.00318530179313823899
0
0.00999983333416666468
0.00362937767285478371
0.00477794259012844049
-0.00637057126765263261
0.00681464007477014026
-0.00840724736714870645
-0.00522201549675090458
Either sort -n data
and sort -g data
产生这个:
0
0.00159265291648695254
-0.00318530179313823899
0.00362937767285478371
0.00477794259012844049
-0.00522201549675090458
-0.00637057126765263261
0.00681464007477014026
-0.00840724736714870645
0.00999983333416666468
另一方面-1.whatever
将在零前面。我需要排序来注意到减号。谢谢。
所有这些麻烦都是我的本地设置造成的。我的 ubuntu 是捷克语:
$ echo $LANG
cs_CZ.UTF-8
在这个本地设置中,它不是小数点,而是将整数与其余整数分隔开的小数逗号(正如我们在数学课上所想的那样,在我们的语言中,我们确实写逗号而不是点)。
所以:
echo '0,03 >> 0,4 >
> -0,3 >
> 0' | sort -n
> 0
> -0,3 >
> 0,4 >
0,03 >
如果您正在编写 bash 脚本,请将排序例程设置为使用“正常”设置。
export LC_ALL=C
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)