条件表达式的运算要用到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}'
这样来的用法可以用来取最大值和最小值!