如果两个值相同,则按两列对文件进行排序

如果两个值相同,则按两列对文件进行排序

我想按一列对文件进行排序,但如果有两个相同的值,我想按另一列对这两个文件进行排序。我该怎么做?

我的文件:

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 列作为排序的键。

相关内容