gpt4 book ai didi

linux - 如何根据以下要求对列进行排序

转载 作者:IT王子 更新时间:2023-10-29 01:03:36 25 4
gpt4 key购买 nike

我有 3 列

a 03 w
a 10 x
a 01 y
b 20 w
b 01 x
c 02 w
c 10 y
c 12 z

预期输出是

a 10 x
b 20 w
c 12 z

即我需要对第 2 列进行排序但不更改第 1 列的顺序然后根据第 2 列 grep 列表中具有最大值的行

最佳答案

两种方法(选择你喜欢的一种):

1) sort + uniq “技巧”:

sort -k1,1 -k2,2rn file | uniq -w1
  • -k1,1 - 在第一阶段按第一个字段对行进行排序

  • -k2,2rn - 按倒数顺序按第二个字段对行进行排序

  • uniq -w1 - 输出比较不超过 1 的唯一行行中的字符(可以调整 -w<number> )

输出:

a 10 x
b 20 w
c 12 z

2) 使用 GNU datamash 工具即可:

datamash -Wsf -g1 max 2 <file | cut -f1-3

输出:

a   10  x
b 20 w
c 12 z

关于linux - 如何根据以下要求对列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com