我试图找出一种方法来获取基本方程的结果并除以另一个整数。所以以简单的形式看起来像; A-B = C然后将C除以D
我理解方程式的第一部分是echo $((A-B))但是如何将结果除以D?
非常感谢任何反馈!
答案 0 :(得分:3)
这(取自评论)失败,因为括号不平衡:
$ echo $((2147483633-807279114))/5184000))
尝试改为:
$ echo $(( (2147483633-807279114)/5184000 ))
258
以上返回一个整数,因为shell只进行整数运算。
bc
如果您需要准确的浮点数,则使用的标准工具是bc
:
$ echo '(2147483633-807279114)/5184000' | bc -l
258.52710628858024691358
python
Python支持整数和浮点运算:
$ python -c 'print (2147483633-807279114)//5184000'
258
$ python -c 'print (2147483633-807279114)/5184000.0'
258.527106289
Python,即使你的需求扩展到复杂的科学计算,它的numpy扩展也是一个很好的工具。
awk
awk
是一个标准的unix工具,支持浮点数学运算:
$ awk 'BEGIN{print (2147483633-807279114)/5184000;quit}'
258.527
答案 1 :(得分:2)
您可以在$(( ))
如果您想计算(A-B)/C
,可以将其放在$(( ))
:
echo $(( (A-B)/C ))
请注意,结果将被截断为零,因为bash不支持小数。
请务必确保在表达式之前有$((
,之后))
,并且内部的所有括号都匹配。
答案 2 :(得分:0)
dc <<< "$A $B - $D / p"
注1:p打印最终结果
注2:使用dc,您需要先输入数字然后再操作