bash 对带小数的数字进行排序

bash sorting numbers with decimals

我有一个这样的文件:

1.1
3.2
1.2
1.10

我想对文件进行排序,使其看起来像这样:

1.1
1.2
1.10
3.2

也就是说1.10比1.2大

我试过了:

sort -nk 1,1 file

但我一直得到这个,这不是我想要的

1.1
1.10
1.2
3.2

谢谢

使用 GNU 排序:

sort -t "." -n -k1,1 -k2,2 file

输出:

1.1
1.2
1.10
3.2

您可以使用 -V 选项。

sort -V numbers

然而,此选项仅在 GNU Coreutils 中存在,其他实现可能不存在。