https://www.jianshu.com/p/b46f783832e3
1. 求每一行中指定列的最大/小值
awk '{m=0;for(x=5;x<=NF;x++)if($x>m) {m=$x};print m}' input.file
# 求第5列到最后一列中每行的最大值
awk '{m=0;for(x=4;x<=NF;x++)if($x>m) {m=$x};if(m >= 1)print}' input.file
# 求第4列到最后一列中最大值>=1的行,并输出
awk '{min=$4;for(i=4;i<=NF;i++)if($i<min)min=$i;print min}' input.file
# 求第4列到最后一列的最小值,并输出
2. 对列进行求值
awk 'BEGIN{max=0}{if($5>max)max=$5}END{print "Max =",max}' input.file
# 求第五列的最大值
awk 'BEGIN{min=10000}{if($5<min)min=$5}END{print "Min =",min}' input.file
# 求第五列的最小值
# 此处最小值必须小于10000,否则需要更改初始赋值
awk '{sum+=$2}END{print "Sum =",sum}' input.file
# 对第二列的所有数值求和
awk '{sum+=$2}END{print "Avg =",sum/NR}' input.file
# 对第二列求均值
awk '{for(i=1;i<=5;i++){sum+=$i}{print sum/5}}'
# 对每一行的前5列求均值