如何在 Linux 控制台中进行划分?

发布于 2024-07-26 04:07:09 字数 51 浏览 7 评论 0原文

我必须变量,并且我想找到一个变量除以另一个变量的值。 我应该使用什么命令来执行此操作?

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

断桥再见 2024-08-02 04:07:09

在 bash shell 中,用 $(( ... )) 包围算术表达式,

$ echo $(( 7 / 3 ))
2

尽管我认为您仅限于整数。

In the bash shell, surround arithmetic expressions with $(( ... ))

$ echo $(( 7 / 3 ))
2

Although I think you are limited to integers.

无敌元气妹 2024-08-02 04:07:09
echo 5/2 | bc -l

2.50000000000000000000

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

echo 5/2 | bc -l

2.50000000000000000000

this '-l' option in 'bc' allows floating results

抱猫软卧 2024-08-02 04:07:09

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

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

例如:

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

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

man bc 

附带几个使用示例。

Better way is to use "bc", an arbitrary precision calculator.

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

ex:

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

where "scale=5" is accuracy.

man bc 

comes with several usage examples.

秉烛思 2024-08-02 04:07:09

您可以使用 awk 这是一种专为数据提取而设计的实用程序/语言,

例如 适用于 1.2/3.4

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

You can use awk which is a utility/language designed for data extraction

e.g. for 1.2/3.4

>echo 1.2 3.4 | awk '{ print $2/$1 }'
0.352941
青朷 2024-08-02 04:07:09

我仍然更喜欢使用dc,它是一个 RPN 计算器,因此以 4 位精度将 67 除以 18 的快速会话看起来显然

>dc
4k
67
18/p
3.7222
q
>

更可用: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

>dc
4k
67
18/p
3.7222
q
>

Obviously, much more available: man dc

手心的温暖 2024-08-02 04:07:09

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

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

In bash, if you don't need decimals in your division, you can do:

>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3
清醇 2024-08-02 04:07:09

我假设您所说的Linux 控制台指的是Bash

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

I assume that by Linux console you mean Bash.

If X and Y are your variables, $(($X / $Y)) returns what you ask for.

他夏了夏天 2024-08-02 04:07:09

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

echo $((a/b))

Example of integer division using bash to divide $a by $b:

echo $((a/b))
深巷少女 2024-08-02 04:07:09

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

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

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:

echo `cat * | head -n 100 | wc -c` / 1024 | bc -l
那一片橙海, 2024-08-02 04:07:09

您应该尝试使用:

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

You should try to use:

echo "scale=4;$variablename/3"|bc
半寸时光 2024-08-02 04:07:09

你也可以使用 perl -e

perl -e 'print 67/8'

you can also use perl -e

perl -e 'print 67/8'
凌乱心跳 2024-08-02 04:07:09

我也有同样的问题。 整数除法很容易,但小数除法就没那么容易了。
如果你有 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文