- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
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 (initialisation; condition; increment/decrement) action
for 語句首先執行初始化動作( initialisation ),然后再檢查條件( condition )。如果條件為真,則執行動作( action ),然后執行遞增( increment )或者遞減( decrement )操作。只要條件為 true 循環就會一直執行。每次循環結束都會進條件檢查,若條件為 false 則結束循環。
下面的例子使用 For 循環輸出數字 1 至 5:
$ awk 'BEGIN { for (i = 1; i <= 5; ++i) print i }'
輸出結果為:
12345
While 循環的語法如下:
while (condition) action
While 循環首先檢查條件 condition 是否為 true ,若條件為 true 則執行動作 action。此過程一直重復直到條件 condition 為 flase 才停止。
下面是使用 While 循環輸出數字 1 到 5 的例子:
$ awk 'BEGIN {i = 1; while (i < 6) { print i; ++i } }'
輸出結果為:
12345
break 用以結束循環:
在下面的示例子中,當計算的和大于 50 的時候使用 break 結束循環:
$ awk 'BEGIN { sum = 0; for (i = 0; i < 20; ++i) { sum += i; if (sum > 50) break; else print "Sum =", sum } }'
輸出結果為:
Sum = 0Sum = 1Sum = 3Sum = 6Sum = 10Sum = 15Sum = 21Sum = 28Sum = 36Sum = 45
Continue 語句用于在循環體內部結束本次循環,從而直接進入下一次循環迭代。
下面的例子輸出 1 到 20 之間的偶數:
$ awk 'BEGIN {for (i = 1; i <= 20; ++i) {if (i % 2 == 0) print i ; else continue} }'
輸出結果為:
2468101214161820
Exit 用于結束腳本程序的執行。
該函數接受一個整數作為參數表示 AWK 進程結束狀態。 如果沒有提供該參數,其默認狀態為 0。
下面例子中當和大于 50 時結束 AWK 程序。
$ awk 'BEGIN { sum = 0; for (i = 0; i < 20; ++i) { sum += i; if (sum > 50) exit(10); else print "Sum =", sum } }'
輸出結果為:
Sum = 0Sum = 1Sum = 3Sum = 6Sum = 10Sum = 15Sum = 21Sum = 28Sum = 36Sum = 45
讓我們檢查一下腳本執行后的返回狀態:
$ echo $?
執行上面的命令可以得到如下的結果:
19
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP