Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 什么';在排序上,-n和-g的区别是什么?_Bash_Sorting - Fatal编程技术网

Bash 什么';在排序上,-n和-g的区别是什么?

Bash 什么';在排序上,-n和-g的区别是什么?,bash,sorting,Bash,Sorting,根据手册页,-n选项通过“字符串数值”进行比较,-g通过“一般数值”进行比较。这两者有什么区别?根据源代码,以下是三种数字排序: 数字:用可选小数点处理数字字符串,但不使用指数表示法 通用数字:处理指数表示法中的数字,也处理十六进制,无穷大。。(比照曼斯特罗德) human_numeric:按带有SI或IEC前缀的人类可读单位进行排序 以下是一些例子: $ sort /tmp/tosort-gen 0 0x0a 1 100 1e1 1e2 1k 1M 2e3 INF $ sort -

根据手册页,
-n
选项通过“字符串数值”进行比较,
-g
通过“一般数值”进行比较。这两者有什么区别?

根据源代码,以下是三种数字排序:

  • 数字:用可选小数点处理数字字符串,但不使用指数表示法
  • 通用数字:处理指数表示法中的数字,也处理十六进制,无穷大。。(比照曼斯特罗德)
  • human_numeric:按带有SI或IEC前缀的人类可读单位进行排序
以下是一些例子:

$ sort /tmp/tosort-gen   
0
0x0a
1
100
1e1
1e2
1k
1M
2e3
INF

$ sort -h /tmp/tosort-gen
0
0x0a
INF
1
1e1
1e2
2e3
100
1k
1M

$ sort -g /tmp/tosort-gen
0
1
1k
1M
0x0a
1e1
100
1e2
2e3
INF
从中,请参见“回答好的问题”部分中要避免的类别之一“……以前已经被问过并回答过多次”。