awk编程基础知识(6)-条件语句

发布时间:2020-04-14编辑:脚本学堂
awk编程基础知识,条件语句,awk条件语句

linuxjishu/13830.html target=_blank class=infotextkey>awk 还提供了非常好的类似于 C 语言的 if 语句。if 语句示例:
{
    if ( $5 ~ /root/ ) {
       print $3
    }
}
对每一个输入行执行代码块,使用 if 语句来选择执行 print 命令。
更复杂的 awk if 语句示例。
{
    if ( $1 == "foo" ) {
       if ( $2 == "foo" ) {
            print "uno"
        } else {
          print "one"
        }
          } else if ($1 == "bar" ) {
                    print "two"
                 } else {
                    print "three"
                 }
}

使用 if 语句还可以将代码:
! /matchme/ { print $1 $3 $4 }
转换成:
{
     if ( $0 !~ /matchme/ ) {
         print $1 $3 $4
     }
}
这两个脚本都只输出不包含 matchme 字符序列的那些行。

awk 还允许使用布尔运算符 "||"(逻辑与)和 "&&"(逻辑或),以便创建更复杂的布尔表达式:
( $1 == "foo" ) && ( $2 == "bar" ) { print }
这个示例只打印第一个字段等于 foo 且第二个字段等于 bar 的行。