天天看点

awk条件表达式

 条件表达式的运算要用到2个符号:问号和冒号。其实就是if/else语句的捷径,他们有着相同的效果。

格式如下

表达条件式1 ?表达式2:表达式3

上面格式用if/else语句表达的结构就是

{

if (expression1)

                    expression2

else

                   expression3

}

--------------------------------------------------------------------------------------------------

for example

     awk '{max=($1 > $2 ) ? $1 : $2;print max}' filename

详细说明

如果$1大于$2,则把问号后面的那个表达式的值赋给max,否则就将冒号后面那个表达式的值赋给max

相当于

if ( $1 > $2 )

           max=$1

          max=$2

举个列子

[leo@leo ~]$ echo "100 99" | awk '{max=( $1 > $2 )?$1:$2;print max}'

100

[leo@leo ~]$ echo "100 99" | awk '{max=( $1 < $2 )?$1:$2;print max}'

这样来的用法可以用来取最大值和最小值!

继续阅读