Unix Sort with exponential оцени

I tried -g but still not sorting true my exp numbers:

sort -g output.out > sorted.out

and it gave я that output:

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

it seems like not sorting truely...

3
задан 19 December 2015 в 14:56

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
1
ответ дан 1 December 2019 в 17:35

Другие вопросы по тегам:

Похожие вопросы: