
条件判断语句:
if(表达式)
{语句1}
elseif(表达式)
{语句2}

else
{语句3}
格式中'语句'可以多个语句,最好将多个语句用{}括起来。
例:
[kodango@devops awk_temp]$ awk -f: '{print $1}' /etc/passwd | head -3 。[kodango@devops awk_temp]$ awk -f: '{print $nf}' /etc/passwd | head -3 。4.awk -f: '/regix/ {print $1} ' /etc/passwd正则字符串匹配。

awk -F: '{if($1~/mail/)print$1}' /etc/passwd#简写,
awk -F: '{if($1~/mail|sshd/){print$1}}'/etc/passwd#如果第一个字段为mail或者sshd,输出第一个字段
awk -F: '{if($1~/mail|sshd/){print$1}else{print$2}}'/etc/passwd#如果第一个字段为mail或者sshd,输出第一个字段;其余输出第二个字段
条件表达式
== != > >=

例:
awk -F: '{if($1=='mail'){print$1}}' /etc/passwd#如果第一个字段等于mail,输出该行第一个字段
awk -F: '{if($1!='mail'){print$1}}'/etc/passwd#如果第一个段不等于mail,输出该行第一个字段
[kodango@devops ~]$ awk '$1 ~ /ko/ {print}' /etc/passwd 。[kodango@devops awk_temp]$ awk -f: '{print $1}' /etc/passwd | head -3 。[kodango@devops awk_temp]$ awk -f: '{print fs}' /etc/passwd | head -1 。
逻辑运算符

&&
你会发现awk if 多个条件,创建test11时,加上了-m选项后,在/etc/passwd文件中test11那行的第六字段依然有/home/test11,可是ls查看该目录时,会提示该目录不存在。全输出:字典全输出print(dic)、key输出print(dic.keys())、value输出print(dic.values())。第三部分内容,是cache单元的有效位字段,规定其值为1,表示该cache单元中的标志字段、数据字段的内容是有效的awk if 多个条件,为0,则说明该cache单元在此之前尚未使用,其标志字段、数据字段的内容是无效的。
awk -F: '{if($1~/mail/||$3>100){print$1}}'/etc/passwd#如果该行的第一个字段为mail,或者第三个字段大于100,输出该行的第一个字段
数值运算
50 and cost(85)<,0),1) and 现价>,stick,nodraw:= sma (现价:if(现价<,0)*200,1) and 现价>,13。[root@tx3 ~]# awk '{ if ($2 >= 90 && $2 <= 100) {print $1,"a"} else if ($2 >= 80 && $2 < 90) {print $1,"b"} else if ($2 >= 70 && $2 < 80) {print $1,"c"} else if ($2 >= 60 && $2 < 70) {print $1,"d"} else {print $1,"e"} }' cj。[root@tx3 ~]# awk '{if ($2>=80 && $2 <=100) {print $1,"great"} else {print $1, "good"}}' cj。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-103765-1.html
收台湾是大势所趋民心所向
没有申请就闯进中国被侵略者侵犯国土
台湾如果敢宣布独立