我必須要變量,而且我想找到一個由另一個劃分的值。我應該使用哪些命令來執行此操作?如何在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. 不能在Chrome的控制檯中進行「分割」
- 2. 在linux控制檯中回去一行?
- 3. 如何在java中進行分割?
- 4. 如何將C++控制檯屏幕分割成多個部分?
- 5. 如何從控制檯分割用戶輸入?
- 6. Linux:如何檢測計算機是否正在通過串行控制檯進行控制
- 7. 如何從控制檯讀取? - Linux的
- 8. 如何在rails服務器控制檯中進行調試?
- 9. 如何使用C#在控制檯中進行是/否提示?
- 10. 分割二進制
- 11. 在pycharm中使用linux控制檯
- 12. linux非標準串行控制檯
- 13. 如何運行控制檯
- 14. 縮進控制檯中的新行
- 15. Linux/Unix控制檯圖形/控制
- 16. 如何在swift中進行分段控制中的多選?
- 17. 在VB.NET中分割一個'十進制'
- 18. Echo值到Linux控制檯
- 19. 閱讀Linux控制檯PHP
- 20. JVisualVM for Linux控制檯?
- 21. 控制Emacs的行爲分割窗口
- 22. 如何在Linux中將cout重定向到控制檯?
- 23. 如何在Linux中的控制檯輸出啓動Tomcat?
- 24. 如何處理在C中的Linux控制檯按下的鍵?
- 25. 如何在Linux中安排java控制檯程序
- 26. 如何在Linux中查找WebSphere 8.5管理控制檯URL
- 27. 如何控制Hyper-V虛擬機控制檯中的進程?
- 28. 如何使Windows上的gvim行爲像Linux控制檯vim exacly?
- 29. 如何分割我的控制器名稱以進行網址路由?
- 30. 無法在Linux控制檯執行任何基本命令
這是真的與編程有關嗎? [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