gpt4 book ai didi

linux - 如何使用 AWK 来唯一化一个表(为每个唯一 ID 保留最大值)?

转载 作者:太空宇宙 更新时间:2023-11-04 09:41:23 24 4
gpt4 key购买 nike

我有一个像这样的 TAB 分隔表(第一行是标题):

  symbol    value   chr start   end
Arrb1 10 chr1 1000 2000
Arrb1 20 chr1 1000 2000
Arrb1 30 chr1 1000 2000
Myc 5 chr2 3000 4000
Actin 3 chr4 25000 30000
Actin 5 chr4 25000 30000
.
.
.

我想通过第一列(符号)来唯一化表格,如果同一个符号有多行,则保留具有最大值的行(第 2 列)。所以结果应该是这样的:

  symbol    value   chr start   end
Arrb1 30 chr1 1000 2000
Myc 5 chr2 3000 4000
Actin 5 chr4 25000 30000
.
.
.

我可以使用 AWK 来完成吗?谢谢!

最佳答案

awk -F'\t' 'NR==1{print}
NR>1{if(b[$1]<$2){ a[$1]=$0; b[$1]=$2 }}
END{for(x in a)print a[x]}' file

关于linux - 如何使用 AWK 来唯一化一个表(为每个唯一 ID 保留最大值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033474/

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