我如何划分Linux控制台?

时间:2009-07-06 17:05:48

标签: linux math command-line divide

我需要变量,我想找到一个除以另一个的值。我应该用什么命令来做这件事?

12 个答案:

答案 0 :(得分:66)

在bash shell中,使用$(( ... ))

包围算术表达式
$ echo $(( 7 / 3 ))
2

虽然我认为你只限于整数。

答案 1 :(得分:38)

echo 5/2 | bc -l

2.50000000000000000000

'bc'中的'-l'选项允许浮动结果

答案 2 :(得分:16)

更好的方法是使用“bc”,一个任意精度计算器。

variable=$(echo "OPTIONS; OPERATIONS" | bc)

前:

my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)

其中“scale = 5”是准确的。

man bc 

附带了几个用法示例。

答案 3 :(得分:11)

我仍然更喜欢使用 dc ,这是一个RPN计算器,所以快速会话将67除以18,精度为4位,看起来像

>dc
4k
67
18/p
3.7222
q
>

显然,更多可用: man dc

答案 4 :(得分:11)

您可以使用awk这是一种用于数据提取的实用程序/语言

e.g。为1.2 / 3.4

>echo 1.2 3.4 | awk '{ print $2/$1 }'
0.352941

答案 5 :(得分:8)

在bash中,如果你的部门不需要小数,你可以这样做:

>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3

答案 6 :(得分:5)

我认为通过 Linux控制台你的意思是 Bash

如果XY是您的变量,$(($X / $Y))会返回您要求的内容。

答案 7 :(得分:2)

使用bash将$ a除以$ b的整数除法示例:

echo $((a/b))

答案 8 :(得分:2)

使用光线跟踪的答案可以做的其他事情。您可以使用反引号使用另一个shell调用的stdout然后进行一些计算。例如,我想知道几个文件中前100行的文件大小。 wc -c的原始大小以字节为单位,我想知道千字节。这是我做的:

echo `cat * | head -n 100 | wc -c` / 1024 | bc -l

答案 9 :(得分:1)

你应该尝试使用:

echo "scale=4;$variablename/3"|bc

答案 10 :(得分:1)

你也可以使用perl -e

perl -e 'print 67/8'

答案 11 :(得分:-1)

我也有同样的问题。划分整数很容易,但十进制数并不那么容易。 如果您有2个数字,如3.14和2.35,然后除以数字, 代码将是Division = echo 3.14 / 2.35 | bc                        回声“$ Division” 报价不同。不要混淆,它位于键盘上的esc按钮下方。 唯一的区别是| bc以及此处echo用作算术计算的运算符而不是打印。 所以,我添加了echo“$ Division”来打印这个值。请让我知道这对你有没有用。谢谢。