gnu 排序中的 --general-numeric-sort 和 --numeric-sort 选项有什么区别

2024-03-29

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 之后。

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

'-g' '--通用数字排序' ‘--sort=general-numeric’ 排序 数值上,使用标准 C 函数 strtod 转换前缀 每行转换为双精度 浮点数。这允许 要指定的浮点数 以科学记数法表示,如 1.0e-34 和 10e100。 LC_NUMERIC 区域设置 确定小数点 特点。不报告溢出, 下溢或转换错误。使用 以下整理顺序: 不以数字开头的行 (都被认为是平等的)。南斯 (IEEE 中的“非数字”值 浮点运算)在 一致但依赖于机器 命令。负无穷大。有限 按升序排列的数字 (-0 和 +0 相等)。加 无穷。

仅当没有时才使用此选项 选择;它比 --numeric-sort (-n),转换为时可能会丢失信息 浮点。

'-n' '--数字排序' '--sort=数字' 按数字排序。号码开始 每行由可选的 空格、可选的“-”号和零 或多个数字可能由 千位分隔符,可选 后跟小数点字符 和零个或多个数字。一个空的 数字被视为“0”。这 LC_NUMERIC 语言环境指定 小数点字符和千位 分隔器。默认情况下,空白是 空格或制表符,但 LC_CTYPE 语言环境可以改变这一点。

比较准确;没有 舍入误差。

既不是前导“+”,也不是指数 符号被识别。比较 这些字符串的数字,使用 --通用数字排序 (-g) 选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gnu 排序中的 --general-numeric-sort 和 --numeric-sort 选项有什么区别 的相关文章

随机推荐