技术改变生活

博客园 首页 新随笔 联系 订阅 管理

if格式
{if(表达式){语句1;语句2;……}}
{if(表达式){语句1;语句2,……}else{语句1;语句2,……}}
{if(表达式){语句}else if(表达式){语句}else if(表达式){语句}else{语句}}

awk -F: '{if($3<0 && $3<1000){i++}} END{print i}' /etc/passwd
awk -F: '{if($3==0){print $1" is administrator."}}' /etc/passwd
awk -F: ‘{if($3==0){count++}else{i++}}END{print "管理员个数: "count;print "系统用户数: "i}’ /etc/passwd
awk -F: '{if($3==0){i++}else if($3>999){k++}else{j++}} END{print "管理员个数: "i;print "普通用户数: "k;print "系统用户数: "j}' /etc/passwd



循环语句(while,for)

 

1.while语句

格式:

while(表达式)

{语句}

 

2.for 循环

for循环有两种格式:

格式1:

for(变量 in 数组)

{语句}

 

格式2:

for(变量;条件;表达式)

{语句}

 

 

awk 'BEGIN{i=1;while(i<=10){print i;i++}}'
awk -F: 'NR==1{i=1;while(i<=7){print $i;i++}}' /etc/passwd
awk -F: '/^root/{i=1;while(i<=NF){print $i;i++}}' /etc/passwd
awk -F: '/^root/{i=1;while(i<=NF){print $0;i++}}' /etc/passwd

 

awk 'BEGIN{i=1;while(i<=100){total+=i;i++}print total}'
5050


awk 'BEGIN{for(i=1;i<=100;i++){total+=i}print total}'
5050

 

tail -3 /etc/passwd|awk -F: '{user[j++]=$1}END{for(i in user){print i,user[i]}}'
0 rpcuser
1 nfsnobody
2 oracle

posted on 2020-10-06 21:21  小阿峰  阅读(317)  评论(0编辑  收藏  举报