awk运行但结果输出为空

时间:2015-12-18 22:29:12

标签: awk

下面的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

0 个答案:

没有答案