1.和之前一樣我們首先了解if語句判斷的格式
簡單的if判斷
awk '{if(){}}' file
舉例說明:
首先模擬環境
[root@wish-10.0.0.200-22:17:15~ ]#cat file.txt
21 12 34
22 22 22
44 66 77
11 22 88
取出file文件里,第一行的第二列?
我們剛學awk的肯定一下就能取出來,如果要求我們使用if判斷語句來取出來呢?
01.[root@wish-10.0.0.200-22:16:30~ ]#awk 'NR1{print $2}' file.txt
12
02.利用if
[root@wish-10.0.0.200-22:19:43~ ]#awk '{if(NR1){print $2}}' file.txt
12
2.在/etc/passwd里面已知管理員用戶的UID:0、虛擬用戶的UID:1-999、普通用戶的UID:1000+
我們知道在/etc/passwd里面以:為分隔符第三列為UID
然后我們可以使用一個間的if判斷語句,來統計出管理員用戶、虛擬用戶、以及普通用戶的數量?
[root@wish-10.0.0.200-23:14:15~ ]#awk -F: '{if($3==0){a=a+1}}END{print a}' /etc/passwd
1
由上條命令我們可以得出管理員用戶的個數為1個、依此類推我們可以得出虛擬用戶和普通用戶的個數
現在我們用一條語句來得出管理員用戶、虛擬用戶、普通用戶的個數
[root@wish-10.0.0.200-23:22:49~ ]#awk -F: '{if($3==0){a++}else if($3>0&&$3<1000){b++}if($3>=1000){c++}}END{print "管理員用戶"a"個\n""虛擬用戶"b"個\n""普通用戶"c"個"}' /etc/passwd
管理員用戶1個
虛擬用戶23個
普通用戶6個
