下面的awk
运行,但输出文件是0字节。它基本上将21 - 259条记录的输入文件匹配到11,137,660条记录的文件中。基本上,它的作用是使用有4个输入文件在一个大的11,000,000记录文件中进行搜索和匹配,并输出匹配中所有$7
的平均值。我似乎无法弄清楚文件为什么是空的。谢谢你:)。
输入
AGRN
CCDC39
CCDC40
CFTR
搜索
chr1 955543 955763 chr1:955543 AGRN-6|gc=75 1 0
chr1 955543 955763 chr1:955543 AGRN-6|gc=75 2 2
chr1 955543 955763 chr1:955543 AGRN-6|gc=75 3 2
预期输出
chr1:955543 AGRN|gc=75 1.3
awk
awk '
NR == FNR {input[$0]; next}
{
split($5, a, "-")
if (a[1] in input) {
key = $4 OFS $5
n[key]++
sum[key] += $7
}
}
END {
for (key in n)
printf "%s %.1f\n", key, sum[key]/n[key]
}
' search.txt input.txt > output.txt