gpt4 book ai didi

python - 最后删除具有重复值的行

转载 作者:太空狗 更新时间:2023-10-30 01:59:35 26 4
gpt4 key购买 nike

我有一个制表符分隔的文件,看起来像这样

chr1  12226559  12227059  TNFRSF1B       
chr1 17051560 17052060
chr1 17053279 17053779
chr1 17338423 17338923 ATP13A2
ATP13A2
ATP13A2
chr1 19577574 19578074 EMC1
MRTO4
chr1 19578046 19578546 EMC1
MRTO4
chr1 19638239 19638739 AKR7A2
PQLC2
PQLC2
PQLC2
AKR7A2
PQLC2

我希望删除重复 column4 值的行。

前三列是坐标,在这些坐标中列出了我们找到的任何内容(在 col4 中),对于每个坐标,我希望只有唯一的名称,而不是名称的重复。

我想要这样的输出

chr1  12226559  12227059  TNFRSF1B       
chr1 17051560 17052060
chr1 17053279 17053779
chr1 17338423 17338923 ATP13A2
chr1 19577574 19578074 EMC1
MRTO4
chr1 19578046 19578546 EMC1
MRTO4
chr1 19638239 19638739 AKR7A2
PQLC2

我尝试过的事情

sort -k 4 -u file

awk '{if($4==temp1){next;}else{print}temp1=$4}' file

什么都没用 :(

请帮忙

谢谢

最佳答案

你只需要

awk '$NF != prev {print} {prev=$NF}'

编辑:处理新输入

awk '{
if (NF == 1)
value = $1
else {
key = $1 SUBSEP $2 SUBSEP $3
value = $4
}
if ((key SUBSEP value) in val)
next
print
val[key, value] = 1
}' input

关于python - 最后删除具有重复值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456326/

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