gpt4 book ai didi

linux - bash sort -g 用于 Ubuntu 14.04LTS 中的 x.xxe+x 格式数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:28 27 4
gpt4 key购买 nike

尝试使用 sort -g 对 ubuntu 14.04LTS 中的一些数据进行排序(GNU coreutils 8.21),但没有按照我的预期进行排序:

printf "1\n6.7\n9\n6.9\n8\n1e4\n7\n1e+3\n2\n4\n45\n1e-2\n0.2e+3\n1.1e2\n1.2e+2" | sort -g

返回

0.2e+3
1e-2
1
1.1e2
1.2e+2
2
4
6.7
6.9
7
8
9
45
1e+3
1e4

似乎适用于 x、x.xxex 格式,但不适用于 x.xex 数字。一些帮助将不胜感激。

最佳答案

我有完全相同的问题和相同的操作系统:Ubuntu 14.04 LTS。我的解决方案是

sudo gedit /etc/default/locale

并添加/替换这一行

LC_ALL="en_US.UTF-8"

可能您不在美国,一些本地设置搞砸了。找到此解决方案的提示 here .如果所有条目都包含 E(或 e 或 d 或其他),如果这没有帮助,一种可能的解决方法如下

sort -s -tE -k2g -k1g fil.ext

这里使用E(-tE)作为列分隔符,首先按第二列(-k2g)排序,即指数,然后是第一列 (-k1g),即指数之前的内容。这似乎对我有用。我的数据看起来像这样

0.13000000E-03  6 0.37947329E-11   0.53072241E-11   
0.13000000E-03 5 0.39614807E-11 0.51917483E-11
0.15511087E-03 6 0.35497942E-11 0.50973016E-11
0.16372814E-03 7 0.34271161E-11 0.49932135E-11

关于linux - bash sort -g 用于 Ubuntu 14.04LTS 中的 x.xxe+x 格式数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25546601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com