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