在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ AWK運(yùn)算符
AWK環(huán)境安裝配置
AWK格式化打印
Awk教程
AWK控制流
AWK循環(huán)
AWK用戶(hù)自定義函數(shù)
AWK工作流程
AWK數(shù)組
AWK基本語(yǔ)法
AWK基本示例
AWK運(yùn)算符
AWK內(nèi)置函數(shù)
AWK內(nèi)置變量
AWK輸出重定向
AWK正則表達(dá)式

AWK運(yùn)算符

像其他編程語(yǔ)言,AWK也提供了大量的運(yùn)算符。本教程介紹AWK運(yùn)算符的例子:

算術(shù)運(yùn)算符

AWK支持以下算術(shù)運(yùn)算符:

加法

它是由正(+)符號(hào),其將兩個(gè)或多個(gè)數(shù)字來(lái)表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { a = 50; b = 20; print "(a + b) = ", (a + b) }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

(a + b) =  70

減法

減法表示( - )符號(hào)中減去兩個(gè)或兩個(gè)以上的數(shù)字。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { a = 50; b = 20; print "(a - b) = ", (a - b) }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

(a - b) =  30

乘法

它是由星號(hào)(*)符號(hào)相乘的兩個(gè)或多個(gè)數(shù)來(lái)表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { a = 50; b = 20; print "(a * b) = ", (a * b) }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

(a * b) =  1000

除法

它是由斜線(xiàn)(/)符號(hào),其將兩個(gè)或兩個(gè)以上的數(shù)來(lái)表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { a = 50; b = 20; print "(a / b) = ", (a / b) }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

(a / b) =  2.5

它由百分號(hào)(%)符號(hào)其中查找模除兩個(gè)或兩個(gè)以上的數(shù)表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { a = 50; b = 20; print "(a % b) = ", (a % b) }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

(a % b) =  10

遞增和遞減運(yùn)算符

AWK支持下增量和減量運(yùn)算符:

前遞增

它是由++表示。它由1遞增操作數(shù)的值這個(gè)操作符先遞增操作數(shù)的值,然后返回增加后的值。例如在下面的例子中此操作者設(shè)定兩個(gè)操作數(shù)的值,a和b加到11。

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

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a = 11, b = 11

前減量

它由下式 -- 表示 。操作數(shù)減去1,操作符首先遞減操作數(shù)的值,然后返回遞減值。例如在下面的例子中此操作者設(shè)定兩個(gè)操作數(shù)中的值,a和b至9。

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

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a = 9, b = 9

后遞增

它是由++表示。它遞增操作數(shù)1的值,這個(gè)操作符首先將返回操作數(shù)的值,并增加它的值。例如示例顯示操作數(shù)a值為11以及b的值為10。

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

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a = 11, b = 10

后遞減

它可表示為-- 。操作數(shù)減少1,操作符首先將返回操作數(shù)的值,再遞減它的值。例如示例顯示的操作數(shù)a值為9和b的值為10。

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

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a = 9, b = 10

賦值運(yùn)算符

AWK支持以下賦值運(yùn)算符:

簡(jiǎn)單的賦值

它是由=表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { name = "Jerry"; print "My name is", name }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

My name is Jerry

簡(jiǎn)寫(xiě)加法

它是由 += 表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=10; cnt += 10; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 20

在上面的例子中第一個(gè)語(yǔ)句將值 10 賦值經(jīng)變量cnt,下一條語(yǔ)句縮寫(xiě)操作遞增它的值為10。

簡(jiǎn)寫(xiě)減法

它可表示為 -=。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=100; cnt -= 10; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 90

在上面的例子中第一個(gè)語(yǔ)句將值100賦值經(jīng)變量cnt,在下一語(yǔ)句縮寫(xiě)操作符遞減10。

簡(jiǎn)寫(xiě)乘法

它是由* =表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=10; cnt *= 10; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 100

在上面的例子中第一個(gè)語(yǔ)句將值10賦值給變量cnt,接下來(lái)一條語(yǔ)句縮寫(xiě)操作乘以10。

簡(jiǎn)寫(xiě)除法

它是由/=表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=100; cnt /= 5; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 20

在上面的例子中第一個(gè)語(yǔ)句將值100賦值到變量cnt,以及在下一語(yǔ)句縮寫(xiě)運(yùn)算除法5。

簡(jiǎn)寫(xiě)模運(yùn)算

它是由%=表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=100; cnt %= 8; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 4

簡(jiǎn)寫(xiě)指數(shù)級(jí)運(yùn)算

它是由^=表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=2; cnt ^= 4; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 16

上面的例子提高cnt的指數(shù)4的值。

簡(jiǎn)寫(xiě)指數(shù)級(jí)

它是由** =表示。下面的例子說(shuō)明了這一點(diǎn):

[jerry]$ awk 'BEGIN { cnt=2; cnt **= 4; print "Counter =", cnt }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

Counter = 16

這個(gè)例子也由4提高cnt 的值。

關(guān)系運(yùn)算符

AWK支持以下關(guān)系運(yùn)算符:

等于

它是由==表示。如果兩個(gè)操作數(shù)相等則返回true,否則返回false。下面的例子說(shuō)明了這一點(diǎn):

awk 'BEGIN { a = 10; b = 10; if (a == b) print "a == b" }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a == b

不等于

它可表示為!=。如果兩個(gè)操作數(shù)是不平等則返回true,否則返回false。

[jerry]$ awk 'BEGIN { a = 10; b = 20; if (a != b) print "a != b" }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a != b

小于

它是由<表示。如果左側(cè)操作數(shù)小于右邊的操作數(shù)則返回true,否則返回false。

[jerry]$ awk 'BEGIN { a = 10; b = 20; if (a < b) print "a < b" }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a < b

小于或等于

它是由<=表示。如果左側(cè)操作數(shù)小于或等于右邊的操作數(shù)則返回true,否則返回 false。

[jerry]$ awk 'BEGIN { a = 10; b = 10; if (a <= b) print "a <= b" }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

a <= b

大于

它是由>表示。如果左側(cè)操作數(shù)大于右邊的操作數(shù)則返回true, 否則返回false。

[jerry]$ awk 'BEGIN { a = 10; b = 20; if (b > a ) print "b > a" }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

b > a

大于或等于

它是由>=表示。如果左側(cè)操作數(shù)大于或等于右邊的操作數(shù)則返回true,否則返回false。

[jerry]$ awk 'BEGIN { a = 10; b = 10; if (a >= b) print "a >= b" }'

在執(zhí)行上面的代碼后,得到以下結(jié)果:

b >= a

邏輯運(yùn)算符

AWK支持以下邏輯運(yùn)算符:

邏輯與

它是由&&表示。下面是邏輯與操作的語(yǔ)法。

expr1 && expr2

它的計(jì)算結(jié)果為true ,如果這兩個(gè)expr1 和 expr2計(jì)算為true,否則結(jié)果為假。當(dāng)且僅當(dāng)expr1 計(jì)算為true時(shí)expr2才進(jìn)行計(jì)算。例如下面示例檢查給定的單位數(shù)字是否為八進(jìn)制格式。

[jerry<
下一篇:AWK循環(huán)