[英]How to loop through a range of decimal numbers in bash?
I'd like to generate a sequence of equally spaced decimal numbers. 我想生成一系列等间距的十进制数。
For example, I want to echo
all numbers between 3.0
and 4.5
, with step 0.1
. 例如,我想
echo
3.0
和4.5
之间的所有数字,步骤0.1
。 I tried $ for i {3.0..4.5..0.1}; do echo $i; done
我试过
$ for i {3.0..4.5..0.1}; do echo $i; done
$ for i {3.0..4.5..0.1}; do echo $i; done
$ for i {3.0..4.5..0.1}; do echo $i; done
, but this gives an error. $ for i {3.0..4.5..0.1}; do echo $i; done
,但这给出了一个错误。
I also tried $ for i in $(seq 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); do echo $i; done
$ for i in $(seq 3.0 4.5 0.1); do echo $i; done
but nothing happens. $ for i in $(seq 3.0 4.5 0.1); do echo $i; done
但没有任何反应。
I also tried $ for i in $(seq 3.0 4.5 0.1);
我也尝试过$ $ $(seq 3.0 4.5 0.1); do echo $i;
回声$ i; done but nothing happens.
完成但没有任何反应。
The order is wrong: 订单错了:
$ for i in $(seq 3.0 0.1 4.5); do echo $i; done
If you're looking for a loop from 3.5 to 4.5 in 0.1 steps this would work 如果你正在寻找一个从3.5到4.5的循环,这将是有效的
for x in {35..45}; do
y=`bc <<< "scale=1; $x/10"`
echo $y
done
The same with 0.01 steps 与0.01步骤相同
for x in {350..450}; do
y=`bc <<< "scale=2; $x/100"`
echo $y
done
for i in {3.0,4.5,0.1}; do echo $i; done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.