首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行时错误(func=(main),adr=5):除以零-如何修复?

运行时错误(func=(main),adr=5):除以零-如何修复?
EN

Stack Overflow用户
提问于 2016-02-25 19:08:38
回答 1查看 3.9K关注 0票数 3

我的shell脚本给出了以下错误:Runtime error (func=(main), adr=5) : Divide by zero,但我看不出哪里可以除以零?我找到了其他有类似问题的人,但是解决方案非常具体,不能在我的脚本中复制它们。这是我的剧本:

代码语言:javascript
复制
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-统计量,为了做到这一点,它首先计算每个文件的标准差。耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 19:19:33

不是awk,问题是

代码语言:javascript
复制
tstat=$(echo "md / sq" | bc)

您必须引用带有$前缀的bash变量。

不用说,所有的脚本都可以简化为一个awk

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35636152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档