1.awk的判断条件
awk自己本身也有判断条件,格式类型跟if判断差不多,也有单分支,双分支,多分支
单分支
if(判断条件){动作指令;}
双分支
if(判断条件){动作指令;}
else{动作指令};
多分支
if(判断条件){动作指令;}
else if(判断条件){动作指令;}
。。。。
else{动作指令;}
注:注意的是如果是一个判断条件的情况下不需要花括号,还有花括号后面可以写多个追加指令
下面演示单分支
ps -eo user,pid,comm|awk '{ if($2>1000) {print} }'
#说明:先把所有进程列出来,用-o取出我们所需要的项,然后awk取出第二列也就是pid值,再打印出来
双分支或多分支
我们假设有100块是富人,80块是小康,60块是白领,40块是穷人,20块是乞丐,在1.TXT文件中写入
富人 100
小康 80
白领 60
穷人 40
乞丐 20
awk '{
if($2>90){print $1,"\t有钱人"}
else if($2>70){print $1,"\t小康社会"}
else if($2>50){print $1,"\t还能生活"}
else if($2>30){print $1,"\t有点揭不开锅"}
else if{$2>10){print $1,"\t已经吃土了"}
}'
2.数组
数组实际上跟我们日常用的变量相似,左边变量右边值,但又不一样,看看有什么不一样把
格式有
数组名称[索引]=值 或 数组名称[索引1,索引2]=值,或 数组名称[索引1][索引2]=值
1.数组名称加索引下标可以调用数组的值,而且数组索引被转换成字符,所以数组本身它不一定一定是数字,看一下下面的列子
awk 'BEGIN{A[1]=11;A[2]=22;print A[1],A[2]}'
结果为11,22
本人因有急事,暂时断更,谢谢理解