根据另一个数字列对数字列进行排序

时间:2013-01-14 08:58:42

标签: linux unix sorting awk gnu-coreutils

我有以下文件:

BTA Pos KLD 

4   79.7011 5.7711028907

4    79.6231    5.7083918219

5   20.9112 4.5559494707

5    50.7354    4.2495580809

5   112.645 4.0936819092

6    72.8212    4.9384741047

6   18.3889 7.3631759258

我想使用AWK或bash命令根据第一列对第二列进行排序,以获得如下输出:

4    79.6231    5.7083918219    

4   79.7011 5.7711028907

5   20.9112 4.5559494707

5    50.7354    4.2495580809

5   112.645 4.0936819092

6   18.3889 7.3631759258

6    72.8212    4.9384741047

1 个答案:

答案 0 :(得分:3)

sort以数字方式列在第一列,然后是第二列:

$ sort -nk1,1 -nk2,2 file
BTA     POS      KLD
4       79.6231  5.7083918219
4       79.7011  5.7711028907
5       20.9112  4.5559494707
5       50.7354  4.2495580809
5       112.645  4.0936819092
6       18.3889  7.3631759258
6       72.8212  4.9384741047