awk言語は式の評価の際、通常の算術演算子を使います。それらの算術演算子はすべて通常の優先順位規則に従い、通常どおり機能します。次の例では、3番目のフィールドを4番目のフィールドで割り、2番目のフィールドを加え、その結果を1番目のフィールドに格納し、変更された入力レコードの結果を表示します。
awk '{ $1 = $2 + $3 / $4; print }' inventory-shipped
awkの算術演算子は次の通りです。
x + y
x - y
- x
x * y
x / y
awkではすべての数は倍精度浮動小数点なので、その結果は整数には丸められません。つまり3 / 4は値0.75になります。
x % y
b * int(a / b) + (a % b) == aこの剰余の定義の望ましくない効果の1つは、xが負の場合、
x % yは負になることです。したがって、次のようになります。
-17 % 8 = -1他の
awk処理系では、剰余に符号が付くかどうかはマシンに依存します。
x ^ y
x ** y
2 ^ 3は値8になります。文字シーケンス`**'は`^'と同じです。