使用awk总结最后一列中的值

时间:2014-08-26 14:42:49

标签: bash shell awk

我有一个五列的制表符分隔文件,它看起来像这样:

chr1    0   210515280   249250621   0.844593
chr1    1   15116879    249250621   0.0606493
chr1    2   9272046 249250621   0.0371997
chr1    3   5395181 249250621   0.0216456
chr1    4   3089690 249250621   0.0123959
chr1    5   1767270 249250621   0.00709033
chr1    6   1001501 249250621   0.00401805
chr1    7   590059  249250621   0.00236733
chr1    8   367487  249250621   0.00147437
chr1    9   247265  249250621   0.000992034

我想在最后一栏添加值并打印出来。

我在做什么:

awk '{if($1="chr1") total += $5 } END { print total }'<file

它无效。

任何建议

谢谢

1 个答案:

答案 0 :(得分:7)

您需要使用==进行比较,而无需使用<file

awk '$1 == "chr1" { total += $5 } END { print total }' file

$1="chr1"实际上只是将chr1分配给$1,它将始终返回true。