感谢@karakfa以下awk
数组导致输出。我正在尝试将$2
添加到阵列并输出。 $2
基本上是唯一条目出现的次数。由于我正在使用awk
阵列,我不知道我的尝试是否接近。awk数组输出的行数以及平均值
输入:
chr1:955542-955763 AGRN:exon.1 1 0
chr1:955542-955763 AGRN:exon.1 2 0
chr1:985542-985763 AGRN:exon.2 1 0
chr1:985542-985763 AGRN:exon.2 2 1
我的脚本:
awk '{k=$1 OFS $2;
l=$2; # Is this correct?
s[k]+=$4; c[k]++}
END{for(i in s) # Is this correct?
print i, s[i]/c[i]},
"(lbases)" # Is this correct?' input
电流输出:
chr1:955542-955763 AGRN:exon.1 0
chr1:985542-985763 AGRN:exon.2 0.5
所需的输出:
chr1:955542-955763 AGRN:exon.1 0 (2 bases)
chr1:985542-985763 AGRN:exon.2 0.5 (2 bases)
用于输入,期望输出,电流输出和代码的pluse-uno!继续发帖,祝你好运! – shellter
你知道原始awk脚本的工作原理吗?因为如果没有这样做你想要的会更加困难。 (具体来说,这个尝试为'l'存储**正好**的值,并且不会正确地在输出中包含变量。) –
我编辑了你的脚本,并在过程中发现了明显的语法错误。您的脚本中仍然存在一些严重的错误,但现在至少它可以运行。 – tripleee