unix – 在gnu排序中–general-numeric-sort和–numeric-sort选项之间的区别是什么

前端之家收集整理的这篇文章主要介绍了unix – 在gnu排序中–general-numeric-sort和–numeric-sort选项之间的区别是什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sort提供了两种数值排序。这是从手册页:
-g,--general-numeric-sort
          compare according to general numerical value

   -n,--numeric-sort
          compare according to string numerical value

有什么不同?

通用数字排序将数字比较为浮点数,这允许科学记数法例如1.234E10,但是更慢,并受舍入误差(1.2345678可能来自1.2345679之后),数字排序只是一个常规的字母排序,知道10后9。

http://www.gnu.org/software/coreutils/manual/html_node/sort-invocation.html

‘-g’ ‘–general-numeric-sort’
‘–sort=general-numeric’ Sort
numerically,using the standard C
function strtod to convert a prefix of
each line to a double-precision
floating point number. This allows
floating point numbers to be specified
in scientific notation,like 1.0e-34
and 10e100. The LC_NUMERIC locale
determines the decimal-point
character. Do not report overflow,
underflow,or conversion errors. Use
the following collating sequence:
Lines that do not start with numbers
(all considered to be equal). NaNs
(“Not a Number” values,in IEEE
floating point arithmetic) in a
consistent but machine-dependent
order. Minus infinity. Finite
numbers in ascending numeric order
(with -0 and +0 equal). Plus
infinity.

Use this option only if there is no
alternative; it is much slower than
–numeric-sort (-n) and it can lose information when converting to
floating point.

‘-n’ ‘–numeric-sort’ ‘–sort=numeric’
Sort numerically. The number begins
each line and consists of optional
blanks,an optional ‘-’ sign,and zero
or more digits possibly separated by
thousands separators,optionally
followed by a decimal-point character
and zero or more digits. An empty
number is treated as ‘0’. The
LC_NUMERIC locale specifies the
decimal-point character and thousands
separator. By default a blank is a
space or a tab,but the LC_CTYPE
locale can change this.

Comparison is exact; there is no
rounding error.

Neither a leading ‘+’ nor exponential notation is recognized. To compare such strings numerically,use the –general-numeric-sort (-g) option.

猜你在找的Bash相关文章