[英]passing bash array values to bc
我有一個bash浮點數數組,說它叫做vals
,像這樣初始化-
# load data from the datafile.txt
vals=`cat datafile.txt`
vals=($vals)
datafile.txt
看起來像這樣-
0.012256791324227446
0.012424287090558156
0.013912725724889032
0.014678182257134693
現在我需要使用bc計算vals
中元素1和2的平均值,我正在做以下事情-
result=$(echo "(${vals[1]} + ${vals[2]})/2.0" | bc)
echo result: $result
但result
始終為0
,請注意,元素不是0.0
。
任何想法?
編輯:數據已更改。
使用scale
小數點后確定的數字量:
$ echo "scale=5; (${vals[1]} + ${vals[2]})/2.0" | bc
.49580
$ echo "scale=3; (${vals[1]} + ${vals[2]})/2.0" | bc
.495
來自man bc
:
規模 (表示)
標度函數的值是表達式中小數點后的位數。
另外,請注意以下內容:
vals=$(cat datafile.txt)
如果我需要浮點數,通常會打電話給bc -l
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.