簡體   English   中英

將bash數組值傳遞給bc

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM