條件表達式的運算要用到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}'
這樣來的用法可以用來取最大值和最小值!