步驟一:awk過濾中的if分支結構
1)單分支
統計/etc/passwd文件中UID小於或等於500的用戶個數:
[root@svr5 ~]# awk -F: 'BEGIN{i=0}{if($3<=500){i++}}END{print i}' /etc/passwd
統計/etc/passwd文件中UID大於500的用戶個數:
[root@svr5 ~]# awk -F: 'BEGIN{i=0}{if($3>500){i++}}END{print i}' /etc/passwd
統計/etc/passwd文件中登錄Shell是“/bin/bash”的用戶個數:
[root@svr5 ~]# awk -F: 'BEGIN{i=0}{if($7~/bash$/){i++}}END{print i}' /etc/passwd //'$7~/bash$/' 這個表示第7列匹配的內容是以bash結尾的內容
2)雙分支
分別統計/etc/passwd文件中UID小於或等於500、UID大於500的用戶個數:
[esbsit@esbserver12 ~]$ awk -F: 'BEGIN{i=0;j=0}{if($3<=500){i++}else{j++}}END{print i,j}' /etc/passwd
3)多分支
分別統計/etc/passwd文件中登錄Shell是“/bin/bash”、“/sbin/nologin”、其他的用戶個數:
[root@svr5 ~]# awk -F: 'BEGIN{i=0;j=0;k=0}{if($7~/bash$/){i++}else if($7~/nologin$/){j++}else{k++}}END{print i,j,k}' /etc/passwd