awk - 带和不带 {} 的 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
问)如果我没有{}
围绕变量添加,为什么会打印?
解决方案
回答自己的问题:
规则需要行动。如果缺少操作,则默认打印该行。只是提及x+=$2
是一个规则,如果我们给予{x+=$2}
或x+=$2{}
那些有/正在采取行动。
推荐阅读
- c# - C#:如何打开一个进程,等到进程中的程序加载完毕,再使用新进程执行命令?
- python - Python curve_fit:未找到最佳参数
- azure - 从 Azure Cache for Redis 获取数据库信息
- python - Python:使错误列表索引超出范围
- python - Python内存中ZipFile未打开
- swiftui - 无法读取和格式化日期
- django - Django admin:创建的用户有纯文本密码,无法登录
- sql - 查询以忽略字段内具有非十六进制值的行
- autodesk-forge - Revit 文件中的房间对象
- python - 通过过滤其他列创建新列