从bash中的csv文件中的十进制数字排序

时间:2018-08-27 08:32:01

标签: bash sorting

我有这个csv文件:

A,0,10
B,20,.66
C,2,.72
D,1,.42
E,0,0
F,0,0
G,2,.56

我需要根据第3列对它进行排序,以便它看起来像这样:

A,0,10
C,2,.72
B,20,.66
G,2,.56
D,1,.42
E,0,0
F,0,0

我尝试过:

sort -t, -V -k3 input.txt

,但未给出正确的结果。有什么建议吗?

根据我尝试的以下答案:

sort -t, -nr -k3 input.txt

但这给出了:

C,2,.72
B,20,.66
G,2,.56
D,1,.42
A,0,10
F,0,0
E,0,0

这不是我上面提供的预期结果。

基于此: https://unix.stackexchange.com/questions/292087/how-do-i-get-bc-to-start-decimal-fractions-with-a-leading-zero

我现在以0开头,这在排序时给出正确的结果。

1 个答案:

答案 0 :(得分:3)

使用数字排序将达到目的:

sort -t, -nr -k3 1.txt

您使用的是“版本”排序,这就是为什么要获取输出的原因。