首页 > 解决方案 > 带和不带 {} 的 awk 打印?

问题描述

我有样本数据

Person  Owe
John    1
John    2
John    -1
John    -10
John    5
John    9
John    -4
John    9
John    2
John    3

我正在使用脚本文件来解析它,命令是 awk -f script data ,脚本内容:

NR == 2 { print "Starting Here"; x = $2; next}
{x+= $2} #This x+=$2
END{ print x }

输出:

Starting Here
16

但是当我{}{x+=$2} 输出中删除时:

Starting Here
John    2
John    -1
John    -10
John    5
John    9
John    -4
John    9
John    2
John    3
16

问)如果我没有{}围绕变量添加,为什么会打印?

标签: awk

解决方案


回答自己的问题:

规则需要行动。如果缺少操作,则默认打印该行。只是提及x+=$2是一个规则,如果我们给予{x+=$2}x+=$2{}那些有/正在采取行动。


推荐阅读