在 bash 中循环创建十进制数

在 bash 中循环创建十进制数

如何生成数字

0.01, 0.02, 0.03 ... until 0.2

在 bash 中?

我运行了这个例子,但是没有起作用

#!/bin/bash
#
# Script for running several experimentations one the same JVM
#

for ((i = 0; i < 0.1; i += 0.01))
do
echo $i
done 

答案1

簡單又容易:

seq BEGIN STEP END

例子:

seq 0.0 0.1 2.0

或(默认 +1)

for i in `seq 1 30`; do echo student$i; done

答案2

以下脚本给出如下输出

0.01, 0.02, 0.03 ... until 0.2

/

#!/bin/bash
for ((i=0; i < 20; i += 1))
do
        echo "scale=2; ${i}/100" | bc
done

答案3

Bash 只能对整数进行数学运算,而不能对浮点数进行数学运算,因此您要么使用其他语言,如 awk 或 bc,要么将问题转移到整数域。

使用 awk:

awk 'BEGIN{ for (i=0.0; i < 0.2; i+=0.01) printf("%.2f\n", i); }'

使用 bash,使用整数

for ((i=0; i < 20; i++)); do
    printf "%d.%02d\n" $((i/100)) $((i%100))
done

相关内容