【发布时间】:2016-05-11 20:38:24
【问题描述】:
我的输入文件如下:
scaffold100 115050 116050 1000 115050 124008 2
scaffold100 1167811 1168811 1000 1167811 1568661 0
scaffold100 151385 152385 1000 151385 193501 4
scaffold100 1585695 1586695 2000 1585695 1644609 5
scaffold100 1654143 1655143 2000 1654143 1673659 3
scaffold100 1711976 1712976 2000 1711976 1843374 1
我正在学习 AWK,我想用它来根据第 4 列对第 7 列求和。 也就是说,如果第 4 列等于 1000,则求和 2+0+4=6 并打印。
我正在使用这段代码,但我不明白我做错了什么:
awk '{if($4==1000) {sum+=$7;n++}END{print sum}}' file
【问题讨论】:
-
阅读 Arnold Robbins 所著的《Effective Awk Programming, 4th Edition》一书。从那开始,然后您就不会对 awk 语法感到困惑,并像您发布的那样编写脚本。
标签: awk