我有一个包含三列的文件, 我想用 awk
获取 $3
的最大值和 $2
的最小值,但是限定在特定范围内的 $1
:
Col1 Col2 Col3
==============
X 1 2
X 3 4
Y 5 6
Y 7 8
例如,我想获取
Col2
的最小值,以及在 Col1=X
的情况下 Col3
的最大值。
我可以处理最大和最小值,但我不知道如何在特定范围内查找它。这是我的代码:
awk ' min=="" || $2 < min {min=$2; minline=$0} $3 > max {max=$3; maxline=$0};END {print $1,min,max}'
我尝试添加
{If($1==X)}
,但它并没有很好地工作。
||min==""?$2:min
这部分是什么意思吗? - massisenergya = boolean? foo : bar
,即min= (........)? $2: min
。 - Kent