本以为这是一个很简单的任务,但是发现bash脚本中不能直接进行浮点运算。。
于是使用了 bc 解析,后面发现 bc 不能进行除法,又用了什么 awk,实际上都用 awk 就行了
content=$(cat $file.txt)
arr=($content)
sum=0
for num in ${arr[@]}
do
# bash does not support floating-point arithmetic. You need to use an external utility like bc.
# 大概意思就是bash不支持浮点运算,得用 bc 解析
sum=$(echo "$sum + $num" | bc)
done
# 这里发现 bc 运算不了,又换成了 awk
average=$(echo "$sum ${#arr[@]}" | awk '{print $1 / $2}')
# 将求得的平均值追加到文件中
echo $average >> $file.txt