在bash中从0.01循环到0.5
我正在bash中创建一个脚本来调用一个命令100次,每次都改变一个float参数。我需要用0.01,然后0.02,0.03到0.5来调用它。由于我无法在条件或步骤中使用浮点创建循环,因此我不确定如何创建循环。我尝试从1到50进行循环,然后在内部将数字除以100,将其转换为浮点,然后用它调用命令,但是命令(基本上我调用的是Weka,数字对应于置信区间)无法正确识别参数,因此可能我使用了错误的数据类型 提前谢谢! 帕特里西奥在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。因此,用您所需的呼叫替换
这将以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
虽然这段代码可以回答这个问题,但提供关于它如何和/或为什么解决问题的附加上下文将提高答案的长期价值。