我的shell脚本给出了以下错误:Runtime error (func=(main), adr=5) : Divide by zero
但我没有看到我可以被零除的位置?我发现其他人有类似的问题,但有解决方案是非常具体的,不能在我的脚本中复制它们。这里是我的脚本:运行时错误(func =(main),adr = 5):除以零 - 如何解决?
dir=$folder
cd folder
shop1=$1
mean1=4.78
n1=127
shop2=$2
mean2=4.75
n2=324
grep -P -o '(?=<Rating>).*' $hotel1 |
awk '{ sub(/<Overall>/, ""; print }' |
awk '{sum+=$1; sumsq+=$1*$1} END {print sqrt(sumsq/NR - (sum/NR)**2)}'
grep -P -o '(?=<Rating>).*' $hotel2 |
awk '{ sub(/<Overall>/, ""; print }' |
awk '{sum+=$1; sumsq+=$1*$1} END {print sqrt(sumsq/NR - (sum/NR)**2)}'
md=0.03
d1=0.003
d2=0.0038
d1d2=$(echo "d1 + d2" | bc)
sq=0.069
tstat=$(echo "md/sq" | bc)
我的脚本基本上最终会从我的两个数据文件计算t统计,做到这一点首先计算各档的标准偏差。谢谢你的时间。
你不必混合的grep和awk这样。一个宝贵的awk可以统治他们。 – e0k
我通过命令行传递这些输入'./myscript.sh shop_2344.dat shop_4121.dat' –
我不认为这会是问题,因为我从这两部分获得数字输出? –