按给定字段对文本行进行排序

时间:2011-09-08 16:57:23

标签: sorting awk

我正在尝试对以下几行文字进行排序:

bbb = 4
aaaaaaaa = 1a
c = 3aa
ddddd = 2aaaa

使用'='后的值作为排序键。我想要获得的是:

aaaaaaaa = 1a
ddddd = 2aaaa
c = 3aa
bbb = 4

请注意,第一个和第二个字段都可以具有任意长度。

如您所见,排序应该:1)对'='周围的每一行进行标记2)对第二个字段进行排序(即'='后的数字),3)打印整行。

我设法把这个awk命令放在一起:

cat lines | awk -F "=" '{print $2 | "sort"}'

但这只会打印第二个字段,而不是整行。

有人能帮助我吗? 感谢

1 个答案:

答案 0 :(得分:4)

怎么样:

cat lines | sort -k 3