Comment générer un nombre
0.01, 0.02, 0.03 ... until 0.2
en bash?
je lance cet exemple mais ça ne marche pas
#!/bin/bash
#
# Script for running several experimentations one the same JVM
#
for ((i = 0; i < 0.1; i += 0.01))
do
echo $i
done
Simple et facile:
seq BEGIN STEP END
exemple:
seq 0.0 0.1 2.0
ou (par défaut +1)
for i in `seq 1 30`; do echo student$i; done
Le script suivant vous donne une sortie comme
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
Bash ne peut faire des calculs qu'avec des nombres entiers, et non des flottants. Vous devez donc utiliser un langage différent, comme awk ou bc, ou déplacer le problème en domaine entier.
Avec awk:
awk 'BEGIN{ for (i=0.0; i < 0.2; i+=0.01) printf("%.2f\n", i); }'
Avec bash, utiliser des entiers
for ((i=0; i < 20; i++)); do
printf "%d.%02d\n" $((i/100)) $((i%100))
done