I was trying to sort one file with numeric values like this:
414e-05
435e-05
0.5361
0.7278
0.1341
0.9592
0.2664
With sort all the numers get so
I don't have enough rep. to comment, so I am writing this to complement the accepted answer:
for those who have locales which use a comma instead of a period to indicate decimals, the sorting of decimals will not work properly, as pointed out by HongboZhu
Solution: the sorting of lists with period-delimited numbers will work properly when using something like the following command (important is the LC_ALL=C):
ls yourFolder|LC_ALL=C sort -g
This solution comes from the following post: https://unix.stackexchange.com/questions/506965/bash-sort-g-does-not-work-properly
perl -e 'print sort { $a<=>$b } <>' < input-file
If you don't have sort -g
, an alternative you can get is scisort.
If your version of the sort command is new enough, it should support the -g option (or --general-numeric-sort) if you like your options long). It is described like this in the info manual:
Sort numerically, using the standard C function
strtod
to convert a prefix of each line to a double-precision floating point number. This allows floating point numbers to be specified in scientific notation, like '1.0e-34' and '10e100'.