我正在讀取具有多列的文件,並將文件的2列轉儲爲2個不同的數組。現在基於一個條件,我需要從數組中檢索2個值之間的差異。所以我的代碼看起來是這樣的 -減去具有浮點小數的2個數組值
if [ condition ]; then
VAL = ((${local[$x]} - ${local[$y]}))
fi
的事情是,當我能夠呼應,看看這兩個值${local[$x]}
和${local[$y]}
,減法操作給我一個語法錯誤。我知道這是失敗的,因爲數組中當前保存的值涉及浮點十進制值 - 例如3456712.126758,並且賦值會在小數部分引發錯誤。我知道算術運算並不是bash shell的一個優點,因爲浮點數被認爲是字符串,因此是問題。
請你幫忙拿到合適的格式嗎? 我應該做這樣的事情
VAL= awk '{ print ${local[$x]} - ${local[$y]} }'
或
VAL=echo ${local[$x]} - ${local[$y]} | bc -l
我相信上面的語法是錯誤的,與語法好心幫,我需要它分配分配到外地VAL
相減的結果。
這是一個非常基本的bash的問題。通過使用bash教程,您將從中受益。 [bash tag wiki](http://stackoverflow.com/tags/bash/info)上有幾個鏈接,請參閱參考資料部分 –
同意,謝謝:) – zephyr