Awk支持 if else条件判断,也可以使用 &&(and)或 || (or) 操作运算实现多重条件判断。
语法
awk -F "分隔符" '{ if(条件-1 && 条件-2 ){ 动作-1; } else if (条件-3 || 条件-4){ 动作-2; } else { 动作-3; }}' file
示例
下面我们将通过具体案例向您展示如何使用awk多重条件判断。
下面是测试文件的内容:(格式:课程:分数#课程:分数#名字)
math:76#english:78#findmath:48#english:75#awkmath:98#english:66#sedmath:73#english:97#grep
打印名字为“ awk” 或 数学大于95 或 英语大于80的行。
➜ ~ awk -F "[:#]" '{ if($5 == "awk"){ print $0; } else if ($2 > 95 || $4>80){ print $0; }}' test.log