bash - 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 列
解决方案
使用循环将列号增加 2 并将列添加到总变量中。
awk '{total = 0; for (i = 2; i <= NF; i+=2) total += $(i); print $1, total}' filename
推荐阅读
- php - php正则表达式配对单词和数字
- symfony - 如何通过所有父节点的 id 获取一些子节点(DoctrineExtensions、Gedmo-Tree NestedTreeRepository、Symfony)
- python - 如何在 Django 的基于通用类的 ListView 中返回搜索词
- java - 我收到此“NullPointerException”错误
- c# - 如何使用 LINQ 表达式 ASP.NET MVC 实体框架使用外键更新多个表
- amazon-web-services - 是否可以更改 AWS cognito 托管 UI?
- macos - 是否有从 Finder (Mac) 自动创建 Google Drive 文件(文档或表格)的键盘快捷键?
- virtualbox - 为什么 Packer boot_command 中使用 esc 和 bs?
- r - 合并data.tables,同时保持R中的原始顺序
- vue.js - 在 vue.js 应用程序中,为什么 public 文件夹保留在 src 文件夹之外?