在非连续字段上排序:POSIX等价于'sort +0 -1 +2'

时间:2012-06-06 21:41:03

标签: shell unix sorting

给定文件内容:

1234  1  15ECS3
1234  2  MS21042
1234  1  16AS338
1235  1  0321042

我需要按列1排序,然后按3排序,跳过2,如下所示:

1234  1  15ECS3
1234  1  16AS338
1234  2  MS21042
1235  1  0321042

我可以使用以下不推荐使用的命令:

sort +0 -1 +2 file

但对于我的生活,我无法使用-km.n -km.n等效。我试过了:

sort -b -k1 -k3 file

作为我的基线,大约有20种变化,抛出所有看似相关的开关,但这些开关大多是多余的(绝望的迹象)。

我错过了什么?上述工作代码的posix版本是什么?

提前致谢。

-Scott

1 个答案:

答案 0 :(得分:4)

我相信这就是你要找的东西:

sort -k1,1 -k3,3