我有以下文件:
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
sort -nrk 2,2
成功了。
n 用于数字排序,r 用于倒序,k 2,2 用于第二列。
你试过 -r 吗?从手册页:
-r,--反向
reverse the result of comparisons
如前所述,如果您不尝试,大多数版本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 - 反向连接和打印文件