我想对此文件进行排序:
[ichen@ui02 ~]$ cat file
root_1down 20 root_EG 1195597
root_2down 19 root_EG 1340493
root_2down 1 root_EG 4136169
我希望输出是数字顺序,所以这是我想要的结果:
root_1down 20 root_EG 1195597
root_2down 1 root_EG 4136169
root_2down 19 root_EG 1340493
那么,我如何才能获得我想要的正确订单呢?
**Supply:**
根据@ Cyrus的命令成功:sort -t " " -k1,1 -k2,2n file
但是,当我交换第一个单词和第二个单词的值时:
[ichen@ui05 ~]$ cat file
20 root_1down root_EG 1195597
19 root_2down root_EG 1340493
1 root_2down root_EG 4136169
这次我希望得到相同的结果,我希望先按第二个单词排序,然后按第一个单词排序,输出预期与上面相同。但是,输出不是我的预期:
[ichen@ui05 ~]$ sort -t " " -k2,1 -k1,2n file
1 root_2down root_EG 4136169
19 root_2down root_EG 1340493
20 root_1down root_EG 1195597
第二个单词没有按我预期的方式排序。
答案 0 :(得分:4)
使用GNU排序:
sort -t " " -k1,1 -k2,2n file
输出:
root_1down 20 root_EG 1195597 root_2down 1 root_EG 4136169 root_2down 19 root_EG 1340493