在 Linux 中对多列进行排序

问题描述 投票:0回答:1

我有一个数据文本文件,其中包含两个需要以嵌套方式排序的数字列。基本上,我想对数据进行排序

1 1
2 2
1 2
1 3
2 1

会产生:

1 1
1 2
1 3
2 1
2 2

我尝试使用参数 -k1n -k2n 但这不起作用,大概是因为它没有同时排序。

linux sorting
1个回答
0
投票

Linux/UNIX 之间的排序存在一些差异……在 OSX 上,我可以同时并以稳定的方式同时对 2 列(最多)进行排序:

 -k field1[,field2], --key=field1[,field2]
         Define a restricted sort key that has the starting position
         field1, and optional ending position field2 of a key field.  The
         -k option may be specified multiple times, in which case
         subsequent keys are compared when earlier keys compare equal.
         The -k option replaces the obsolete options +pos1 and -pos2, but
         the old notation is also supported.

但在Ubuntu Linux中(我需要它)似乎没有这么多变化,但是一列排序的规范所以不可能在2列标准下进行稳定排序。

© www.soinside.com 2019 - 2024. All rights reserved.