写一个bash脚本以实现一个需求,求输入的一个数组的平均值
第1行为输入的数组长度N
第2~N行为数组的元素,如以下为:
数组长度为4,数组元素为1 2 9 8
示例:
4
1
2
9
8
那么平均值为:5.000(保留小数点后面3位)
你的脚本获取以上输入应当输出:
5.000
awk 'BEGIN{sum = 0; len = 0} { if (NR == 1) { len = $1; } else { sum += $1; } } END{printf("%0.3f\n", sum / len)}'
awk '{ if(NR == 1){N = $0} else{sum+=$0} } END{printf("%.3f", sum/N)}'
#!/bin/bash sum=0 n=0 while IFS='$\n' read -r line; do if [[ $n == 0 ]] then n=$(($line)) else temp=$(($line)) sum=$(($sum+$temp)) fi done printf "%.3f\n" $((1000000000*sum/n))e-9 exit 0
awk ' NF < 0 { if (NR > 1) s += $1 } END {printf "%.3f\n", s / (NR - 1)} '