我想生成一系列等間隔十進制數字。如何遍歷bash中的十進制數範圍?
例如,我想echo
所有數字在3.0
和4.5
之間,步驟0.1
。我試過$ for i {3.0..4.5..0.1}; do echo $i; done
,但是這給出了一個錯誤。
我也試過$ for i in $(seq 3.0 4.5 0.1); do echo $i; done
但沒有任何反應。
我想生成一系列等間隔十進制數字。如何遍歷bash中的十進制數範圍?
例如,我想echo
所有數字在3.0
和4.5
之間,步驟0.1
。我試過$ for i {3.0..4.5..0.1}; do echo $i; done
,但是這給出了一個錯誤。
我也試過$ for i in $(seq 3.0 4.5 0.1); do echo $i; done
但沒有任何反應。
我也試過$ for i in $(seq 3.0 4.5 0.1);做echo $ i;完成但沒有任何反應。
的順序是錯誤的:
$ for i in $(seq 3.0 0.1 4.5); do echo $i; done
哇,謝謝這工作很好。比其他方法更容易閱讀。 – izxle
如果你正在尋找從3.5〜4.5 0.1步驟的循環,這將工作
for x in {35..45}; do
y=`bc <<< "scale=1; $x/10"`
echo $y
done
同樣與步長0.01
for x in {350..450}; do
y=`bc <<< "scale=2; $x/100"`
echo $y
done
謝謝,這個工程。這個部門是否爲'bc'強制? – izxle
只是使用它,現在我在{30..45}中使用'for x; do y = $(dc <<<「1k $ x 10/p」); echo $ y; done'。 – izxle
是的,無論是工作。 bash只支持整數運算。因此,總是需要使用另一個程序... – drpetermolnar
猛砸沒有做浮點數。你最好換用不同的腳本語言。 –
是否有一個命令來替換可以生成該列表的'seq',以便我可以使用它? – izxle