gpt4 book ai didi

awk - 在管道符号之前按 awk 中的字段计数

转载 作者:行者123 更新时间:2023-12-01 04:34:57 25 4
gpt4 key购买 nike

我正在尝试计算 | 之前的文件中 $2 中的唯一条目:

文件

chr11:101323676-101323847   TRPC6|gc=39.2   143.1
chr11:101324359-101324478 TRPC6|gc=38.7 146.4
chr11:101325731-101325850 TRPC6|gc=32.8 84.5
chr11:101341904-101342127 TRPC6|gc=43.5 197.9
chr12:5153304-5155165 KCNA5|gc=65.1 633.7
chr12:52306230-52306349 ACVRL1|gc=58.8 152.4
chr12:52306868-52307149 ACVRL1|gc=66.5 309.6
chr12:52307328-52307569 ACVRL1|gc=66.8 305.9
chr12:52307743-52307872 ACVRL1|gc=64.3 267.1

期望的输出

3

尝试过:

awk '{sub(/:.*/,"",$2)} !seen[$2]++{unq++} END{print unq}' file.txt

目前,我得到一个非常不同的数字,我认为这是必要的,因为我需要在 | 上拆分,但不确定这样做的正确方法。谢谢 :)。

最佳答案

awk 助您一臂之力!

$ awk '{split($2,a,"|"); c[a[1]]} 
END{for(k in c) count++; print count}' file

3

或更短的版本

$ awk '{split($2,a,"|"); if(!c[a[1]]++) count++} 
END{print count}' file

最短

$ awk 'split($2,a,"|") && !c[a[1]]++{u++} END{print u}' file

关于awk - 在管道符号之前按 awk 中的字段计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34402259/

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