Go to the first, previous, next, last section, table of contents.

算術演算子

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
剰余。商の小数点以下を切り捨てて整数にし、それにyを掛けて、その結果をxから引きます。この演算はtrunc-modと言われます。次の関係が常に保たれます。
b * int(a / b) + (a % b) == a
この剰余の定義の望ましくない効果の1つは、xが負の場合、x % yは負になることです。したがって、次のようになります。
-17 % 8 = -1
他のawk処理系では、剰余に符号が付くかどうかはマシンに依存します。
x ^ y
x ** y
べき乗。xy乗。2 ^ 3は値8になります。文字シーケンス`**'`^'と同じです。

Go to the first, previous, next, last section, table of contents.