在bash中排序,基于列的部分排序

时间:2013-04-19 13:20:16

标签: linux bash

我有一个类似的文件:

a1 blah
b2 blah
a3 blah
b1 blah
b3 blah
a2 blah

如果我这样做

sort -k1,1 file.name

我会得到这个:

a1
a2
a3
b1
b2
b3

但是,我想得到这个订单:

a1
b1
a2
b2
a3
b3

我该怎么做?感谢

编辑:我编辑了这个例子,前一个没有提出整个问题

1 个答案:

答案 0 :(得分:2)

您正在寻找sort -kN.MN.M表示sort从第N个字段的第M个字符开始。

初步解决方案:

sort -k1.2 your_file

更新了一个:

sort -k1.2,k1.2 your_file

所以它只是按这个特定字符排序,不会再进一步​​。

输出:

a1 blah
b1 blah
a2 blah
b2 blah
a3 blah
b3 blah