天天看點

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}'

這樣來的用法可以用來取最大值和最小值!

繼續閱讀