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

Ang*_*elo 1 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
Run Code Online (Sandbox Code Playgroud)

我想在最后一列中添加值并打印它.

我在做什么:

awk '{if($1="chr1") total += $5 } END { print total }'<file
Run Code Online (Sandbox Code Playgroud)

它不起作用.

有什么建议

谢谢

anu*_*ava 7

您需要==用于比较而不需要使用<file:

awk '$1 == "chr1" { total += $5 } END { print total }' file
Run Code Online (Sandbox Code Playgroud)

$1="chr1"实际上只是分配chr1$1它,它总是会返回true.