我必须要变量,而且我想找到一个由另一个划分的值。我应该使用哪些命令来执行此操作?如何在Linux控制台中进行分割?
回答
在bash shell中,围绕算术表达式与$((...))
$ echo $((7/3))
2
虽然我觉得你是有限的整数。
是的,bash仅限于整数数学。 – mkb 2009-07-06 18:17:24
使用bash的$ B分$一个整数除法的例子:
echo $((a/b))
在bash,如果你不需要在你的部门小数,你可以这样做:
>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3
我仍然更喜欢使用dc,这是一个RPN计算器,所以快速会话以67位除以18以4位精度看起来像
>dc
4k
67
18/p
3.7222
q
>
显然,更多的可供选择:人直流
几个指针可能会保存一些'man`的行程:RPN =反向波兰表示法;简而言之:您首先输入操作数,然后输入操作员。输出结果需要终止'p'。上述计算的非交互式版本是:`dc -e'4k 67 18/p``。警告:未设置精度(使用“{numPlaces} k”)默认为0,即整数除法。 – mklement0 2013-10-27 21:39:06
更好的办法是使用“BC”,一个任意精度的计算器。
variable=$(echo "OPTIONS; OPERATIONS" | bc)
例如:
my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)
其中 “标度= 5” 的精度。
man bc
附带几个使用示例。
很酷;有一点需要注意:除非你指定`-l`,否则`scale`缺省设置为整数除法,因为下面的@raytrace注释显然默认给出了20位小数位,但是也加载了一个带有附加函数的库。 – mklement0 2013-10-27 21:38:25
echo 5/2 | bc -l
2.50000000000000000000
在 'BC' 这个 '-l' 选项允许浮动的结果
别的东西,你可以做使用光线追踪的答案。您可以使用反引号来使用另一个shell调用的stdout,然后进行一些计算。例如,我想知道几个文件中前100行的文件大小。从wc -c
的原始大小是以字节为单位,我想知道千字节。下面是我所做的:
echo `cat * | head -n 100 | wc -c`/1024 | bc -l
你应该尝试使用:
echo "scale=4;$variablename/3"|bc
你也可以用perl -e
perl -e 'print 67/8'
我也有同样的问题。划分整数很容易,但十进制数并不容易。 如果你有2个数字,如3.14和2.35,然后划分数字, 的代码将会是Division = echo 3.14/2.35 | bc
echo“$ Division” 引号是不同的。不要混淆,它位于键盘上的esc按钮下方。 唯一的区别是| BC和这里回声作为算术运算的运算符而不是打印。 因此,我添加了回显“$部门”打印价值。请让我知道这对你有没有用。谢谢。
- 1. 如何在java中进行分割?
- 2. 如何将C++控制台屏幕分割成多个部分?
- 3. Linux:如何检测计算机是否正在通过串行控制台进行控制
- 4. 如何从控制台读取? - Linux的
- 5. 在pycharm中使用linux控制台
- 6. linux非标准串行控制台
- 7. 如何运行控制台
- 8. 缩进控制台中的新行
- 9. Linux/Unix控制台图形/控制
- 10. 在VB.NET中分割一个'十进制'
- 11. 如何在swift中进行分段控制中的多选?
- 12. Echo值到Linux控制台
- 13. 如何在Linux中将cout重定向到控制台?
- 14. 如何处理在C中的Linux控制台按下的键?
- 15. 如何在Linux中安排java控制台程序
- 16. 如何控制Hyper-V虚拟机控制台中的进程?
- 17. 如何分割我的控制器名称以进行网址路由?
- 18. 如何在MASM控制台上进行输入/输出?
- 19. 如何在R中将控制台输出复制/分割/复制到变量中?
- 20. 如何通过Java控制台应用程序进行分页执行“less”?
- 21. 如何在Laravel中使用控制器进行“部分”视图?
- 22. 如何在xcode中对控制器进行分组
- 23. 如何获得控制台的进程id在C#控制台应用程序
- 24. Linux时间分割进程或线程
- 25. 如何在Ruby中高效地分割二进制数据?
- 26. 如何在bc中分割时得到十进制数?
- 27. 如何启动控制台进程
- 28. 如何在Linux中运行sh文件作为后台进程
- 29. 如何在后台进程中运行linux应用程序?
- 30. 分割ASP.NET MVC控制器
这是真的与编程有关吗? [http://stackoverflow.com/faq] – 2009-07-06 17:26:33
查阅本文:[http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.html] (http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.html) – freitass 2009-07-06 17:08:21
@ frank-v Bash可以用于编程......另外,该链接到常见问题解答不起作用 – chomp 2016-06-18 01:52:44