awk 如果/否则抛出错误



我在CSV文件上尝试了这个命令,效果很好。

awk -F, '$44==0 {sum += $45 } END { print sum}' Consolidated.csv
8448089

基本上,这会查看csv中的字段44,如果匹配,则汇总字段45中的值。

当字段44值在04之间变化时,我想扩展此逻辑,因此想通过扩展上述逻辑来创建 if-else 条件,但没有成功。有人可以指出我正确的方向吗?

您可以在您的条件下使用 AND&&运算符:

awk -F, '$44>=0 && $44<=4 {sum += $45 } END { print sum}' Consolidated.csv

如果你想要两个总和(其中第 44 列等于 0,总和介于 0 和 4 之间(,你可以在那里扔另一个 test{block}:

awk -F, '$44>=0 && $44<=4 {sum2 += $45 } $44==0 {sum += $45 } END { print sum, sum2}' Consolidated.csv

相关内容

最新更新