假设我们有这个文本文件:
Daisy ABC0002 1
Kevin ABC0001 2
Mike ABC0001 3
John ABC0003 4
Pete ABC0002 5
我们试图得到这样的结果:
Kevin ABC0001 2
Mike ABC0001 3
Daisy ABC0002 1
Pete ABC0002 5
John ABC0003 4
名称之间没有顺序,但在根据ABC000#标签对行进行分组时应考虑最后一列。有什么建议吗?感谢。
答案 0 :(得分:3)
对于显示的数据,您只需使用:
sort -k2,2 -k3,3
如果第三列中可能有多位数字,请指定数字排序:
sort -k2,2 -k3,3n
sort -k2,2 -k3n,3
例如,给定输入文件:
Daisy ABC0002 1
Kevin ABC0001 2
Mike ABC0001 3
John ABC0003 4
Pete ABC0002 5
Hazel ABC0002 34
Sarah ABC0002 24
Alice ABC0002 11
Zoe ABC0002 9
第3栏中的数字排序
Kevin ABC0001 2
Mike ABC0001 3
Daisy ABC0002 1
Pete ABC0002 5
Zoe ABC0002 9
Alice ABC0002 11
Sarah ABC0002 24
Hazel ABC0002 34
John ABC0003 4
第3栏中的非数字排序
Kevin ABC0001 2
Mike ABC0001 3
Daisy ABC0002 1
Alice ABC0002 11
Sarah ABC0002 24
Hazel ABC0002 34
Pete ABC0002 5
Zoe ABC0002 9
John ABC0003 4
注意Zoe和Pete出现在两个输出中的位置。