Unix 使用指数值排序

Unix 使用指数值排序

我尝试过-g但仍然无法对我的经验数字进行正确的排序:

sort -g output.out > sorted.out

它给了我这样的输出:

0.100159E+00 0.998410E+01   121.0000
0.100753E+00 0.992529E+01   126.8500
0.101409E+01 0.986102E+00   130.8000
0.102260E-01 0.977901E+02   123.4000
0.102844E+00 0.972347E+01   120.9500
0.107397E-02 0.931122E+03   124.0500

好像没有正确排序......

答案1

区域LC_NUMERIC设置决定小数点字符。

LC_ALL=C sort -g output.out > sorted.out

例子

$ echo "$LC_ALL"
de_DE

$ sort -g foo   
0.100159E+00 0.998410E+01   121.0000
0.100753E+00 0.992529E+01   126.8500
0.101409E+01 0.986102E+00   130.8000
0.102260E-01 0.977901E+02   123.4000
0.102844E+00 0.972347E+01   120.9500
0.107397E-02 0.931122E+03   124.0500

$ LC_ALL=C sort -g foo    
0.107397E-02 0.931122E+03   124.0500
0.102260E-01 0.977901E+02   123.4000
0.100159E+00 0.998410E+01   121.0000
0.100753E+00 0.992529E+01   126.8500
0.102844E+00 0.972347E+01   120.9500
0.101409E+01 0.986102E+00   130.8000

相关内容