• 本页内容

66. 赋值运算符


就像大多数其他编程语言一样,awk 使用 =作为赋值运算符。 与 C 一样,awk 也支持修改变量而不是替换其值的快捷赋值运算符。

操作符 描述
= 赋值
+= 快捷方式求和并赋值
-= 快捷方式求差并赋值
*= 快捷方式求积并赋值
/= 快捷方式求商并赋值
%= 快捷方式求余数并赋值

以下示例展示了如何使用赋值运算符:

$ 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