【发布时间】:2017-03-23 00:56:43
【问题描述】:
我有一个文件 errorgot.log
1 23 23
2 22 42
3 12 2
4 5 26
5 14 45
我想将一行中的所有第三个数字与 shell 脚本相加。 例如,23 + 42 + 2 + 26 + 45 = 138
感谢之前
【问题讨论】:
-
你已经尝试了什么?
标签: bash
我有一个文件 errorgot.log
1 23 23
2 22 42
3 12 2
4 5 26
5 14 45
我想将一行中的所有第三个数字与 shell 脚本相加。 例如,23 + 42 + 2 + 26 + 45 = 138
感谢之前
【问题讨论】:
标签: bash
这应该可行:
awk '{sum += $3}END{print sum}' errorgot.log
它是如何工作的?
awk 逐行读取文件,用分隔符分隔每一行(默认为空格)并分配给编号变量($1 用于第一列,$2 用于第二列,依此类推)awk 执行大括号之间的代码 ({sum += $3})。在我们的例子中,我们在变量 sum 中累积总和
awk 执行来自我们正在打印sum 变量的END 部分的代码【讨论】: