系统相关
首页 > 系统相关> > linux – 在不使用“bc”的情况下计算Shell脚本中的舍入百分比

linux – 在不使用“bc”的情况下计算Shell脚本中的舍入百分比

作者:互联网

我正在尝试计算Shell脚本中某些项目的百分比.我想把这个值四舍五入,也就是说,如果结果是59.5,我应该期望60而不是59.

item=30
total=70
percent=$((100*$item/$total))

echo $percent

这给了42.

但实际上,结果是42.8,我想把它四舍五入到43.
“bc”可以解决问题,有没有办法不使用“bc”?

我无权安装任何新软件包.我的系统中没有“dc”和“bc”.
它应该是纯粹的Shell,也不能使用perl或python脚本

解决方法:

使用AWK(没有bash-isms):

item=30
total=70
percent=$(awk "BEGIN { pc=100*${item}/${total}; i=int(pc); print (pc-i<0.5)?i:i+1 }")

echo $percent
43

标签:linux,shell,percentage
来源: https://codeday.me/bug/20191005/1856601.html