Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中从0.01循环到0.5_Bash_Loops_Decimal_Weka - Fatal编程技术网

在bash中从0.01循环到0.5

在bash中从0.01循环到0.5,bash,loops,decimal,weka,Bash,Loops,Decimal,Weka,我正在bash中创建一个脚本来调用一个命令100次,每次都改变一个float参数。我需要用0.01,然后0.02,0.03到0.5来调用它。由于我无法在条件或步骤中使用浮点创建循环,因此我不确定如何创建循环。我尝试从1到50进行循环,然后在内部将数字除以100,将其转换为浮点,然后用它调用命令,但是命令(基本上我调用的是Weka,数字对应于置信区间)无法正确识别参数,因此可能我使用了错误的数据类型 提前谢谢! 帕特里西奥 这将以0.01的增量创建0.01到0.5的seq。因此,用您所需的呼叫替换

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

提前谢谢! 帕特里西奥


这将以0.01的增量创建0.01到0.5的seq。因此,用您所需的呼叫替换
echo

如果您确实无法使用(+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
或者像这样:

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

虽然这段代码可以回答这个问题,但提供关于它如何和/或为什么解决问题的附加上下文将提高答案的长期价值。