awk计算列中的行数(读取数)
我有一个文件,在该文件中,我在最后几列中读取了与基因相关的数据awk计算列中的行数(读取数),awk,multiple-columns,Awk,Multiple Columns,我有一个文件,在该文件中,我在最后几列中读取了与基因相关的数据 chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:21577:2860 44 + chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:12188:3487 44
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:21577:2860 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:12188:3487 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:9524:3758 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:7243:4130 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:20035:10131 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:14291:16898 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11101:10796:17822 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11102:17796:2683 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11103:22603:1930 44 +
chr7 2457938 2457981 Naca + chr7 2457938 2457981 NS500455:81:HTVKJBGXC:1:11103:2286:7789 44 +
chr7 2457938 2457981 Naca+chr7 2457938 2457981 44+读取次数
6-8列出现的次数。在这个例子中,它们会出现10次。我想把这个单独列出来
我试着用awkawk'来做这个!看到[$5]++'|awk'{a[$12]=1;}END{for(k in a)n++;print n;}'
但它不起作用。
有人能帮忙吗。
当做
Amit.对于您展示的样品,请尝试以下内容。用GNU
awk
编写和测试
awk '
FNR==NR{
arr[$1]++
next
}
($1 in arr){
print $0,arr[$1]
delete arr[$1]
}
' Input_file Input_file
第二种解决方案:如果您的样本是按第一列排序的,请尝试以下方法:
awk '
prev!=$1 && prev{
print prevLine,count
}
{
prev=$1
prevLine=$0
}
END{
if(prev){
print prevLine,count
}
}
' Input_file
注意:如果记录未按第1列排序,则对输入文件使用
sort
命令,并将其输出也传递给第2个解决方案。输出的逻辑是什么?除了上面Raman提出的问题外,我只想问一下您正在使用的awk'!已看到[$5]+'
命令,这是否意味着要删除第5列上的重复项?请再次确认,因为如果是这种情况,您显示的样本应该更清楚,谢谢。@RavinderSingh13输出的逻辑是计算12-15列与每个基因相关联的次数。@RavinderSingh13如何显示1个基因的n个读取数(12-15)列是相关联的。我还在学awk。请引导我。