條件判斷語句:
if(表達式)
{語句1}
elseif(表達式)
{語句2}
else
{語句3}
格式中"語句"可以多個語句,最好將多個語句用{}括起來。
例:
awk -F: '{if($1~/mail/){print$1}}' /etc/passwd#如果第一個字段為mail,輸出第一個字段
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,輸出該行第一個字段
awk -F: '{if($3>100){print$1}}' /etc/passwd #如果第三個字段大於100,輸出該行第一個字段
邏輯運算符
&&
awk -F: '{if($1~/mail/&&$3>1){print$1}}' /etc/passwd#如果該行的第一個字段為mail,並且第三個字段大於1,輸出該行的第一個字段
awk -F: '{if($1~/mail/||$3>100){print$1}}' /etc/passwd#如果該行的第一個字段為mail,或者第三個字段大於100,輸出該行的第一個字段
數值運算
awk -F: '{if($3>1&&$3<100){print$1}}' /etc/passwd#輸出字段3大於1小於100行的第一個字段
awk -F: '{if($3+$4==7){print$1}}' /etc/passwd#如果該行字段3和字段4的和為7,輸出該行的第一個字段
減法,乘積,除法等類似