首页 > 解决方案 > awk 如何对每行中的所有偶数列求和

问题描述

我有一个包含数字行的文件。我想打印第一列,以及每行中偶数列的总和。

输入示例:

1 2 3 4 5 6
5 6 5 6 5 6
1 2 1 2 1 2

期望的输出:

1 12
5 18
1 6

使用 awk 或任何其他工具可以做到这一点吗?

谢谢!

PS我不想用

awk '{print $1, $2+$4+$6}'

因为我的真实文件有 60 列

标签: bashawk

解决方案


使用循环将列号增加 2 并将列添加到总变量中。

awk '{total = 0; for (i = 2; i <= NF; i+=2) total += $(i); print $1, total}' filename

推荐阅读