Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bash: sort numbers with exponents

Tags:

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 sorted except for the ones with the exponent, is there some way for sort function to evaluate this expression?

like image 396
Fungsten Avatar asked Dec 01 '10 13:12

Fungsten


2 Answers

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'.

like image 50
unwind Avatar answered Dec 25 '22 11:12

unwind


If you don't have sort -g, an alternative you can get is scisort.

like image 39
dogbane Avatar answered Dec 25 '22 12:12

dogbane