Awk-increment-decrement-operators

提供:Dev Guides
移動先:案内検索

AWK-インクリメントおよびデクリメント演算子

AWKは、次のインクリメントおよびデクリメント演算子をサポートしています-

プリインクリメント

これは++で表されます。 オペランドの値を 1 増やします。 この演算子は、まずオペランドの値をインクリメントし、次にインクリメントされた値を返します。 たとえば、次の例では、この演算子はオペランドaとbの両方の値を11に設定します。

awk 'BEGIN { a = 10; b = ++a; printf "a = %d, b = %d\n", a, b }'

このコードを実行すると、次の結果が得られます-

出力

a = 11, b = 11

プリデクリメント

-で表されます。 オペランドの値を 1 減らします。 この演算子は、最初にオペランドの値をデクリメントしてから、デクリメントされた値を返します。 たとえば、次の例では、この演算子は両方のオペランドaとbの値を9に設定します。

[jerry]$ awk 'BEGIN { a = 10; b = --a; printf "a = %d, b = %d\n", a, b }'

上記のコードを実行すると、次の結果が得られます-

出力

a = 9, b = 9

ポストインクリメント

これは++で表されます。 オペランドの値を 1 増やします。 この演算子は、まずオペランドの値を返し、次にその値をインクリメントします。 たとえば、次のコードは、オペランドaの値を11に、bを10に設定します。

[jerry]$ awk 'BEGIN { a = 10; b = a++; printf "a = %d, b = %d\n", a, b }'

このコードを実行すると、次の結果が得られます-

出力

a = 11, b = 10

ポストデクリメント

-で表されます。 オペランドの値を 1 減らします。 この演算子は、まずオペランドの値を返し、次にその値をデクリメントします。 たとえば、次のコードは、オペランドaの値を9に、bを10に設定します。

[jerry]$ awk 'BEGIN { a = 10; b = a--; printf "a = %d, b = %d\n", a, b }'

このコードを実行すると、次の結果が得られます-

出力

a = 9, b = 10