我试图输出输入文件中唯一文本的计数。它在$2
中,但我似乎只能用下面的方法得到1的计数。谢谢:)。
awk '{sub(/:.*/,"",$2)} !seen[$5]++{unq++} END{print unq}' input.txt > output.txt
输入文件
chrX:48544112-48544235 **WAS**:exon.1;WAS:exon.4;WAS:exon.6 271.171
chr5:1282528-1282754 **TERT**:exon.1;TERT:exon.3 349.08
chrX:48547038-48547465 **WAS**:exon.1;WAS:exon.10;WAS:exon.2 42.459
期望输出
2
最佳答案
如果将字段分隔符重新定义为“冒号或空格”,则会简单得多
awk -F '[: ]' '!seen[$3]++ {n++} END {print n}' file