This question already has answers here:
Summing values of a column using awk command
(2个答案)
两个月前关闭。
我需要找到一种方法来汇总文件中特定列的所有整数值,并打印其结果。
这是我的档案:
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
<<健康控制<<<
我想打印第五列的总和,即稀有变种的总数。
在本例中,它应该打印6。
我尝试了以下命令(该命令无效):
grep "rare variants for the gene ARIH1" fileName | tail -n+2 | awk -F " " '{sum+=$5} END {print sum}'

这个命令打印1,这是错误的。
我该怎么办?谢谢!

最佳答案

试试这个脚本:

awk 'BEGIN{sum=0} {if ($0 ~ /rare variants for the gene ARIH1/) sum+=$5} END{ print "Sum is ",sum}' fileName

或上述脚本的较短形式。
awk '/rare variants for the gene ARIH1/{sum+=$5} END{print "Sum is ",sum}' fileName

工作:它检查是否在一行(awk)中找到以下模式。如果匹配,则对第5列中的值求和。最后,它打印出最后的总数。

关于linux - bash,如何求和一列的整数值? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57712582/

10-13 04:11