如何在 Linux 控制台中进行划分?
我必须变量,并且我想找到一个变量除以另一个变量的值。 我应该使用什么命令来执行此操作?
I have to variables and I want to find the value of one divided by the other. What commands should I use to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
在 bash shell 中,用
$(( ... )) 包围算术表达式,
尽管我认为您仅限于整数。
In the bash shell, surround arithmetic expressions with
$(( ... ))
Although I think you are limited to integers.
2.50000000000000000000
'bc' 中的此 '-l' 选项允许浮动结果
2.50000000000000000000
this '-l' option in 'bc' allows floating results
更好的方法是使用“bc”,一个任意精度计算器。
例如:
其中“scale=5”是准确性。
附带几个使用示例。
Better way is to use "bc", an arbitrary precision calculator.
ex:
where "scale=5" is accuracy.
comes with several usage examples.
您可以使用 awk 这是一种专为数据提取而设计的实用程序/语言,
例如 适用于 1.2/3.4
You can use awk which is a utility/language designed for data extraction
e.g. for 1.2/3.4
我仍然更喜欢使用dc,它是一个 RPN 计算器,因此以 4 位精度将 67 除以 18 的快速会话看起来显然
更可用:man dc
I still prefer using dc, which is an RPN calculator, so quick session to divide 67 by 18 with 4 digits precision would look like
Obviously, much more available: man dc
在 bash 中,如果你的除法中不需要小数,你可以这样做:
In bash, if you don't need decimals in your division, you can do:
我假设您所说的Linux 控制台指的是Bash。
如果
X
和Y
是您的变量,则$(($X / $Y))
返回您所要求的内容。I assume that by Linux console you mean Bash.
If
X
andY
are your variables,$(($X / $Y))
returns what you ask for.使用 bash 将 $a 除以 $b 的整数除法示例:
Example of integer division using bash to divide $a by $b:
您可以使用光线追踪的答案做其他事情。 您可以使用另一个使用反引号的 shell 调用的标准输出来进行一些计算。 例如,我想知道几个文件中前 100 行的文件大小。
wc -c
的原始大小以字节为单位,我想知道千字节。 这就是我所做的:Something else you could do using raytrace's answer. You could use the stdout of another shell call using backticks to then do some calculations. For instance I wanted to know the file size of the top 100 lines from a couple of files. The original size from
wc -c
is in bytes, I want to know kilobytes. Here's what I did:您应该尝试使用:
You should try to use:
你也可以使用 perl -e
you can also use perl -e
我也有同样的问题。 整数除法很容易,但小数除法就没那么容易了。
如果你有 2 个数字,例如 3.14 和 2.35,然后将这些数字相除,
代码将为 Division=
echo 3.14 / 2.35 | BC
回显“$部门”
报价不同。 不要混淆,它位于键盘上的 esc 按钮下方。
唯一的区别是 | bc 以及这里的 echo 用作算术计算而不是打印的运算符。
因此,我添加了 echo "$Division" 来打印该值。 请让我知道这对你有没有用。 谢谢。
I also had the same problem. It's easy to divide integer numbers but decimal numbers are not that easy.
if you have 2 numbers like 3.14 and 2.35 and divide the numbers then,
the code will be Division=
echo 3.14 / 2.35 | bc
echo "$Division"
the quotes are different. Don't be confused, it's situated just under the esc button on your keyboard.
THE ONLY DIFFERENCE IS THE | bc and also here echo works as an operator for the arithmetic calculations in stead of printing.
So, I had added echo "$Division" for printing the value. Let me know if it works for you. Thank you.