Sorting numbers with multiple decimals in bash

后端 未结 3 664
野性不改
野性不改 2020-12-20 14:51

In bash using sort with the -n option doesn\'t give me the expected result.

$ cat numbers | sort -n
1.0
1.1
1.11.4
1.         


        
3条回答
  •  感情败类
    2020-12-20 15:50

    You need the -t. flag to specify '.' as your separator, and the multiple key position specifiers handles the progressively longer/deeper numbers. I still don't quite understand exactly how it works, but it works ...

     sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n numbers
    

    or

     cat numbers | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n
    

提交回复
热议问题