如何使用awk计算文本每行从指定列开始的后缀累积和
正确awk实现命令
awk '{ sum=0 # 从最后一列倒序遍历到第14列计算后缀和 for(i=NF;i>=14;i--){ sum += $i $i = sum } }1' 输入文件
实现逻辑说明
- 你的需求是计算列的后缀和(从当前列到最后一列的总和),必须从右往左倒序遍历处理,从左往右遍历会提前覆盖原始列值,无法得到正确结果
- 遍历起点是最后一列
NF,终点是第14列,前13列全程不做修改,保持原始值 - 每次遍历将当前列的原始值累加到总和变量
sum,再用sum覆盖当前列的数值即可
内容的提问来源于stack exchange,提问作者user5719890
相关产品推荐
相关产品推荐

