我有这个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
?
答案 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; }'