就像大多数其他的编程语言,awk使用=作为赋值运算符。像c, awk还支持快捷赋什运算符修改一个变量,而不是取代它的值。
Operator | Description |
---|---|
= | Assignment |
+= | Shortcut addition assignment |
-= | Shortcut subtraction assignment |
*= | Shortcut multiplication assignment |
/= | Shortcut division assignment |
%= | Shortcut modulo division assignment |
下面的例子显示如何使用赋值操作:
$ cat assignment.awk
BEGIN {
FS=",";
OFS=",";
total1 = total2 = total3 = total4 = total5 = 10;
total1 += 5; print total1;
total2 -= 5; print total2;
total3 *= 5; print total3;
total4 /= 5; print total4;
total5 %= 5; print total5;
}
$ awk -f assignment.awk
15
5
50
2
0
下面的示例例用+=快捷赋值操作
$ awk -F, 'BEGIN { total = 0} { total +=$5 } END {print "Total Quantity: " total }' items.txt
Total Quantity: 52
下一个示例计算在一个文件中的字段总数。awk脚本匹配所有行并保持累计每一行字段数使用快捷加赋值操作。字段数保存在一个名为total的变量里。一次输入文件被处理,end块被执行,打印字段总数。
$ awk -F ',' 'BEGIN { total = 0 } {total += NF } END { print total }' items.txt
25