我打算发表评论here,但我缺乏必要的声誉。
我需要将数据排序为以下块,sort
就可以了。
但是,在对以下数据执行sort -g
时,我会得到完全相同的数字 - 如果它不是 e .. ,则会排序。
输入和输出:
0.00000000e+00
1.02272602e-02
1.25536099e-01
1.26666948e-02
1.29036099e-01
预期产出
0.00000000e+00
1.02272602e-02
1.26666948e-02
1.25536099e-01
1.29036099e-01
非常感谢提前! 我们欢迎使用替代方案,但我需要能够按指定列进行排序,例如此块中的第二列:
1.00000e+02, 0.00000000e+00
2.00000e+02, 1.02272602e-02
3.00000e+02, 1.25536099e-01
4.00000e+02, 1.26666948e-02
5.00000e+02, 1.29036099e-01
答案 0 :(得分:4)
关于你的第一个问题:
export LC_NUMERIC=en_US
sort -g data.txt
测试:
0.00000000e+00
1.02272602e-02
1.26666948e-02
1.25536099e-01
1.29036099e-01
关于第二个问题,要排序第二列:
export LC_NUMERIC=en_US
sort -k2.2,2.15g data.txt
测试:
1.00000e+02, 0.00000000e+00
2.00000e+02, 1.02272602e-02
4.00000e+02, 1.26666948e-02
3.00000e+02, 1.25536099e-01
5.00000e+02, 1.29036099e-01
解释:
LC_NUMERIC区域设置指定小数点字符和千位分隔符。