2
使用示例输入的awk
会输出以下内容:基本上,它将$5
中的文本平均为7 < 30
。awk输出字段与长度比较的百分比
awk '{if(len==0){last=$5;total=$7;len=1;getline}if($5!=last){printf("%s\t%f\n", last, total/len);last=$5;total=$7;len=1}else{total+=$7;len+=1}}END{printf("%s\t%f\n", last, total/len)}' Input.txt > output.txt
采样输入
chr 1 955542 955763 + AGRN:exon.1 1 0
chr 1 955542 955763 + AGRN:exon.1 2 0
chr 1 955542 955763 + AGRN:exon.1 3 0
chr 1 955542 955763 + AGRN:exon.1 4 1
chr 1 955542 955763 + AGRN:exon.1 5 1
chr 1 955542 955763 + AGRN:exon.1 6 1
....
....
chr 1 955542 955763 + AGRN:exon.1 218 32
chr 1 955542 955763 + AGRN:exon.1 219 32
chr 1 955542 955763 + AGRN:exon.1 220 32
chr 1 955542 955763 + AGRN:exon.1 221 29
输出
AGRN:exon.1 4.5714285
我的问题是,我似乎无法添加正确的语法,也将输出线在总#代表$5
的$6
和的百分比0我知道我的话可能不是那么有用,所以希望输出将有所帮助。谢谢 :)。
所需的输出
AGRN:exon.1 4.5714285 3.16742% (221 (# of lines in `6'/7 #3 of lines `< 30`)
非常感谢你:)之后。 – Chris