後續應該不會更新awk了,由於不可能把全部的awk用法都寫出來,主要仍是看工做中的運用。nginx
1. if語句bash
[root@localhost ~]# awk '/root/{i++}END{print i}' /etc/passwd 2 [root@localhost ~]# awk -F: '{if($3==0){i++}}END{print i}' /etc/passwd 1 [root@localhost ~]# awk -F: '{if($3!=0){i++}}END{print i}' /etc/passwd 30 [root@localhost ~]# awk -F: '{if($3>0 && $3<1000){i++}}END{print i}' /etc/passwd 30
2. if...else語句ide
[root@localhost ~]# awk '{if($1~1){print "yes"}else {print "no"}}' file yes no no no
[root@localhost ~]# awk -F: '{if($3==0){i++} else{j++}} END{print i,j}' /etc/passwd 1 30 [root@localhost ~]# awk -F: '{if($3==0){i++} else{j++}} END{print i"\n"j}' /etc/passwd 1 30 [root@localhost ~]# awk -F: '{if($3==0){i++} else{j++}} END{print i;print j}' /etc/passwd 1 30
3. if...else if...else語句it
[root@localhost ~]# awk -F: '{if($3==0){i++} else if($3>500){j++} else{k++} } END{print i,j,k}' /etc/passwd 1 3 27
[root@localhost ~]# awk -F: '{if($3>500) print NR,$1,$3}' /etc/passwd 26 www 501 29 zabbix 502 31 nginx 503
4. for/while循環class
[root@localhost ~]# awk 'BEGIN{for(i=1;i<=6;i++) print i}' [root@localhost ~]# awk 'BEGIN{i=1;while(i<=6){print i;i++}}' 1 2 3 4 5 6