算术运算符嘛,就是 加减乘除取余 ,AWK 对算术运算符的支持还是完备的。
加
加运算符就是传说中的 加号( + ) ,主要用于将两个或更多的数字累加起来。
[www.ddkk.com]$ awk 'BEGIN { x = 15; y = 25; print "(x + y) = ", (x + y) }'
运行上面的命令,输出结果如下
(x + y) = 40
减
减法运算符就是 减号( - ) ,是把左边操作数减去右边操作数
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 15; print "(x - y) = ", (x - y) }'
运行上面的命令,输出结果如下
(x - y) = 10
乘
乘运算符使用 星号 ( * ) 表示,执行左操作数乘以右操作数的数学乘运算。
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 15; print "(x * y) = ", (x * y) }'
运行上面的命令,输出结果如下
(x * y) = 375
除
除运算符使用 斜杠( / ) 表示,执行左操作数除以右操作数的数学除法运算
需要注意的是,AWK 的除法运算的结果是浮点数,这跟我们小学学的除法是一样的。
[www.ddkk.com]$ awk 'BEGIN { x = 25; y = 15; print "(x / y) = ", (x / y) }'
[www.ddkk.com]$ awk 'BEGIN { x = 2500; y = 15; print "(x / y) = ", (x / y) }'
[www.ddkk.com]$ awk 'BEGIN { x = 250000000; y = 15; print "(x / y) = ", (x / y) }'
运行上面的命令,输出结果如下
(x / y) = 1.66667
(x / y) = 166.667
(x / y) = 1.66667e+07
看出什么端倪了嘛?所有 AWK 中所有数学运算的结果受变量 OFMT 的影响,使用变量 OFMT 制约下的科学计数法。
取余
取余运算符使用 百分号 ( % ) 表示,通常是执行左操作与右操作数的取余数学运算。
[www.ddkk.com]$ awk 'BEGIN { x = 50; y = 20; print "(x % y) = ", (x % y) }'
运行上面的命令,输出结果如下
(x % y) = 10