在bash中循环从0.01到0.5

时间:2013-05-16 12:14:55

标签: bash loops decimal weka

我在bash中创建一个脚本来调用命令100次,每次都改变一个浮点参数。我需要用0.01,然后0.02,0.03到0.5来调用它。由于我无法在条件或步骤中使用浮点创建循环,因此我不确定如何执行此操作。我尝试从1到50进行循环,然后将数字除以100,将其转换为浮点数,然后用该命令调用命令,然后命令(基本上我调用Weka,数字对应于置信区间)无法正确识别参数,因此可能使用了错误的数据类型。

提前致谢! 帕特里西奥

3 个答案:

答案 0 :(得分:7)

for i in `seq 0.01 0.01 0.5`; do  echo "called with $i" ; done

这将创建0.01到0.5的增量为0.01到0.5的seq。因此,请将echo替换为您需要的电话。

答案 1 :(得分:0)

如果你真的不能使用abasu(+1)提出的解决方案,你可以尝试这样的事情:

for i in `seq 1 50`; do
  n=$(echo $i | awk '{printf "%.2f", $1 / 100}')
  echo $n
done

或者像这样:

for i in `seq 1 50`; do
  n=$(printf "0.%02d" $i)
  echo $n
done

答案 2 :(得分:0)

for i in $(seq 0.01 0.01 0.5);do
...
done