我有以下文件:
1 2 3
1 4 5
1 6 7
2 3 5
5 2 1
我希望文件按第二列排序,但是从最大数字(在这种情况下为6)到最小数据。我试过
sort +1 -2 file.dat
但它给了我颠倒的顺序。
结果应该是:
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
答案 0 :(得分:46)
sort -nrk 2,2
诀窍。
n表示数字排序,r表示反向顺序,k 2,2表示第二列。
答案 1 :(得分:9)
你试过吗?来自the man page:
-r, - 反向
reverse the result of comparisons
答案 2 :(得分:3)
如果提及sort
,大多数版-r
都有tac
选项:
$ sort -nk 2,2 file.dat | tac
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
$ sort -nrk 2,2 file.dat
1 6 7
1 4 5
2 3 5
5 2 1
1 2 3
tac - 反向连接和打印文件