歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

awk賦值操作符

一旦變量被賦予了一個值,那麼就可以用這個變量名來引用這個值。下面的表達式表示將變量x的值和1相加並將結果賦給變量y:

y = x + 1
即計算x加1的值,並將結果賦給變量y。語句

print y
打印y的值。如果下面的一系列語句將出現在腳本中:

x = 1
y = x + 1
print y
那麼y的值為2。

我們可以將這3個語句減少為兩個:

x = 1
print x + 1
注意, print語句後面的x的值卻仍為1。我們沒有改變變量x的值,我們只是將它和1相加並打印結果。實際上,如果我們想將x的值增加,我們可以用賦值操作符+=。這個操作符組合了兩個操作符:它將1和x的值相加並將結果賦給x。下表列出了awk表達式中的賦值操作符。
賦值操作符

操作符定義 ++ 變量加1 -- 變量減1 += 將加的結果賦給變量 -= 將減的結果賦給變量 *= 將乘的結果賦給變量 /+ 將除的結果賦給變量 %= 將取模的結果賦給變量 ^= 將取冪的結果賦給變量 **= 將取冪的結果賦給變量

下面的例子用於計算一個文件中空行的目錄。
#統計空行數

/^$/ {print x += 1}
雖然這裡沒有為變量x賦初值。但在遇到第一個空行之前它的值一直為0。表達式x+=1在每次遇到空行時進行求值並將x的值增加1。print語句打印表達式返回的值。因為我們在遇到每個空行時都執行print語句,所以我們得到了空行數的一個連續值。

表達式可以表示為不同形式,有些更簡潔。表達式x+=1比等價的表達式: x=x+1更簡潔。但這兩個都沒有下面這個表達式簡潔:

++x
"++"是遞增操作符( "--"是遞減操作符)。表達式每計算一次變量的值就增加1。遞增和遞減操作符可以出現在操作數的任何一邊,位置不同可以得到不同的計算結果。
++x 在返回結果前遞增x的值(前綴)


x++ 在返回結果後遞增x的值(後綴)

Copyright © Linux教程網 All Rights Reserved