Je cherchais à mettre en page un tableau avec trois colonnes. Et pour ce faire, j’ai cherché comment vérifier si un compteur est multiple de 3 afin d’ajouter un retour de chariot toutes les trois entrées. J’ai fini (ENFIN) par écrire ce script qui détermine si la variable de mon choix est effectivement un multiple de 3. Pour ce faire, je divise ma variable par 3, en utilisant BC avec scale=1 qui retourne donc une valeur avec une décimale. Ensuite je teste la décimale. Si c’est un 0, c’est un entier, donc c’est un multiple de 3. Sinon, ce n’est pas un multiple de 3. Voici le résultat:
#!/bin/bash
test=$(echo "scale=1; $1/3" | bc)
y=1
for i in $(echo $test | tr "." "\n")
do
if [ $y -eq 2 ]
then
if [ $i -eq 0 ]
then
echo "$test" est un multiple de 3
fi
fi
((y++))
done
Je cherchais le même chose, n’ayant pas pu faire fonctionner votre script j’ai fini par trouver ceci :
#!/bin/bash
x=0
test=$(echo “scale=1; $x/5” | bc)
if [[ $test == *([0-9]).+([0]) ]]; then
echo “multiple de 5”
fi
merci…
Bonjour,
Merci d’avoir partagé. Quel problème avez-vous rencontré avec mon script ?
J’ai une boucle for pour ecrire un fichier html avec un tableau:
x=0
for i in *.pdf; do
echo -e “ligne à ajouter dans le fichier” >> ../index.html
((x++))
done
et toutes les 5 lignes ajouter une ligne au tableau html
J’ai donc ajouté :
test=$(echo “scale=1; $x/5” | bc)
if [[ $test == *([0-9]).+([0]) ]]; then
echo “Multiple de 5”
fi
dans ma boucle