我想按一列对文件进行排序,但如果有两个相同的值,我想按另一列对这两个文件进行排序。我该怎么做?
我的文件:
1 2 3
1 3 2
1 4 3
2 4 1
2 1 3
3 1 4
3 1 2
我不知道我理解得对不对。在 -k 之后,我输入列和选项。下一个选项 -k 排序列,与第一个选项 k 相同。选项 -k 2 按第二列排序,然后按倒数第二列或第一列排序?-k 2,2 按第二列排序,不对其他列进行排序?
答案1
您可以放置多个 -k ,以便使用第一个 -k 进行排序,并且在绘制的情况下使用下一个 -k 。
在您的示例中 (sort -k 2 -r -k 1 -nf),它按照您的要求执行:按第 2 列反向排序,如果是 draw,则按第 1 列升序排序。您可以使用列名来确保哪个选项适用于哪个列。您的示例可以是 sort -k 2nr -k 1n 。
-k 2,4 选项告诉 sort 使用第 2 至第 4 列作为排序的键。