Average integer elements in array
USAGE: mean arrayname varname
mean() { local arrayname=${1:?Array name required} varname=${2:-var} local total=0 v n=0
Copy the array, $arrayname, to local array
eval "array=( \"\${$arrayname[@]}\" )" for v in "${array[@]}" do case $v in *[!0-9-]*) continue ;; esac total=$(( total + v )) n=$(( n + 1 )) done printf -v "$varname" "%d" "$(( total / n ))" }