awk计算最大值,最小值,平均值的脚本

时间:2022-09-15 15:11:33

传入至少三个数字参数到脚本awk_file,并计算出最大,最小,平均值。需要判断传入的数字是否足够,否则输出警告信息。平均值保留两位小数。

如执行bash awk_file 3 4 6 5,脚本输出结果如下:

max number is:6

min number is:3

average is:4.50

 

脚本如下:

if [ "$#" -le 2 ];then
echo "parameter must be at least 3."
exit 1
fi
echo "$@" | awk '
BEGIN{
RS=" +"         #RS做为输入时的换行符,此处的意思是以一个或多个空格做为输入换行符。
}
{
sum+=$0
}
NR==1 {
max=$1;min=$1
next
}
$1>max {
max=$1
}
$1<min {
min=$1
}
END{
printf "max number is:%s\n",max
printf "min number is:%s\n",min
printf "average is:%.2f\n",sum/NR
}'