您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Awk條件語句和循環語句的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Awk是Unix環境下一種非常好的語言,適合于文本處理和報表生成,它還有許多精心設計的特性,允許進行特殊技巧程序設計。
IF 條件語句語法格式如下:
if (condition) action
也可以使用花括號來執行一組操作:
if (condition) { action-1 action-1 . . action-n }
以下實例用來判斷數字是奇數還是偶數:
$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d 是偶數\n", num }'
輸出結果為:
10 是偶數
IF – ELSE 條件語句語法格式如下:
if (condition) action-1else action-2
在條件語句 condition 為 true 時只需 action-1,否則執行 action-2。
$ awk 'BEGIN { num = 11; if (num % 2 == 0) printf "%d 是偶數\n", num; else printf "%d 是奇數\n", num }'
輸出結果為:
11 是奇數
我們可以創建多個 IF – ELSE 格式的判斷語句來實現多個條件的判斷:
$ awk 'BEGIN { a=30; if (a==10) print "a = 10"; else if (a == 20) print "a = 20"; else if (a == 30) print "a = 30"; }'
輸出結果為:
a = 30
For
For 循環的語法如下:
for (initialisation; condition; increment/decrement) action
for 語句首先執行初始化動作( initialisation ),然后再檢查條件( condition )。如果條件為真,則執行動作( action ),然后執行遞增( increment )或者遞減( decrement )操作。只要條件為 true 循環就會一直執行。每次循環結束都會進條件檢查,若條件為 false 則結束循環。
下面的例子使用 For 循環輸出數字 1 至 5:
$ awk 'BEGIN { for (i = 1; i
輸出結果為:
1 2 3 4 5
While 循環的語法如下:
while (condition) action
While 循環首先檢查條件 condition 是否為 true ,若條件為 true 則執行動作 action。此過程一直重復直到條件 condition 為 flase 才停止。
下面是使用 While 循環輸出數字 1 到 5 的例子:
$ awk 'BEGIN {i = 1; while (i
輸出結果為:
1 2 3 4 5
break 用以結束循環:
在下面的示例子中,當計算的和大于 50 的時候使用 break 結束循環:
$ awk 'BEGIN { sum = 0; for (i = 0; i 50) break; else print "Sum =", sum } }'
輸出結果為:
Sum = 0 Sum = 1 Sum = 3 Sum = 6 Sum = 10 Sum = 15 Sum = 21 Sum = 28 Sum = 36 Sum = 45
Continue Continue 語句用于在循環體內部結束本次循環,從而直接進入下一次循環迭代。
下面的例子輸出 1 到 20 之間的偶數:
$ awk 'BEGIN {for (i = 1; i
輸出結果為:
2 4 6 8 10 12 14 16 18 20
Exit 用于結束腳本程序的執行。
該函數接受一個整數作為參數表示 AWK 進程結束狀態。 如果沒有提供該參數,其默認狀態為 0。
下面例子中當和大于 50 時結束 AWK 程序。
$ awk 'BEGIN { sum = 0; for (i = 0; i 50) exit(10); else print "Sum =", sum } }'
輸出結果為:
Sum = 0 Sum = 1 Sum = 3 Sum = 6 Sum = 10 Sum = 15 Sum = 21 Sum = 28 Sum = 36 Sum = 45
讓我們檢查一下腳本執行后的返回狀態:
$ echo $?
執行上面的命令可以得到如下的結果:
19
感謝各位的閱讀!關于“Awk條件語句和循環語句的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。