AWK高級運用

步驟一: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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章