根据“人排序”,有两种数字排序方式:
-g, --general-numeric-sort
compare according to general numerical value
和
-n, --numeric-sort
compare according to string numerical value
这些“值”之间有什么区别?
以下示例不足以向我演示
$ cat numbers.txt
1
1.0
01
010
10
$ sort -n numbers.txt
01
1
1.0
010
10
$ sort -g numbers.txt
01
1
1.0
010
10
这在堆栈溢出中得到了解决:
gnu sort中的--general-numeric-sort和--numeric-sort选项有什么区别
从答案:
一般数字排序将数字作为浮点数进行比较,这可以采用科学记数法,例如1.234E10,但速度较慢并且容易出现舍入错误(1.2345678可能在1.2345679之后),数字排序只是一种常规的字母排序,知道10在1之后。
从GNU排序手册中:
仅在没有其他选择的情况下,才使用[一般数字排序]。它比--numeric-sort(-n)慢得多,并且在转换为浮点数时可能会丢失信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句