如何将多个if语句与多个结果相结合?

时间:2018-02-24 15:47:04

标签: linux awk

我有这个awk代码($ 1,2,3是int数字。)

awk '{
    if($1 > $2 && $1 > $3) {print $1} 
    if($1 < $2 $$ $2 > $3) {print $2} 
    if($3 > $1 && $3 > $2) {print $3}}' /var/lab/lab2/awk/preke

如何修复它,如果其中一个陈述是真的,它会打印出不同的$key

2 个答案:

答案 0 :(得分:1)

您想要实施max功能

$ awk '{max=$1; for(i=2;i<=NF;i++) if(max<$i) max=$i; print max}' file

这适用于任意数量的字段。

答案 1 :(得分:-1)

假设您正在尝试找到给定三个数字的最大值。尝试使用三元运算符,即a> b然后返回a的最大值,c else返回b和c中的最大值。

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

相关问题