這個問題在這里已經有了答案: 如何在 bash shell 腳本中添加整數和浮點數 4 個回答 2 天前關閉。
我抓住了我的輸出檔案的尾部,然后想將 0.000001 添加到該值。
到目前為止,我已經嘗試過這種方式:
offset=0.000001
time=$(($(`tail -1 speed.txt1`) $offset))
uj5u.com熱心網友回復:
Bash 本身沒有任何浮點能力。您需要使用其他工具在 shell 中獲得浮點結果。
鑒于:
cat file
1
2
3
您可以bc在 shell 中使用浮點數:
offset='0.000001'
printf "%s %s\n" $(tail -1 file) "$offset" | bc
3.000001
或awk:
awk -v offset="$offset" 'END{printf "%.7f\n", $1 offset}' file
3.000001
由于bc不理解科學記數法(即1.3E6),您仍然可以printf在 shell 中對其進行標準化:
x=1.33E6
printf "%f\n" "$x"
1330000.000000
并再傳遞到bc:
offset="1e-6"
x=1.33E6
printf "%f %f\n" "$x" "$offset"
1330000.000000 0.000001
printf "%f %f\n" "$x" "$offset" | bc
1330000.000001
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/372416.html
