Commande shell pour faire une boucle for [Résolu/Fermé]

Signaler
Messages postés
1
Date d'inscription
vendredi 13 juillet 2007
Statut
Membre
Dernière intervention
13 juillet 2007
-
 anonyme -
Bonjour
Je voudrai savoir si quelqu'un a une idée comment utilisé laboucle for dans le shell par exple : for var1,var2... done

4 réponses

Messages postés
3644
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
884
Si tu dois utiliser des valeurs numériques en progression arithmétique, tu peux combiner for avec seq:
johand@osiris:~$ for num in $(seq 10 3 25 ) ; do echo -n "${num} " ; done ; echo
10 13 16 19 22 25
johand@osiris:~$ for num in $(seq -f "%05g" 25 -3 10 ) ; do echo -n "${num} " ; done ; echo
00025 00022 00019 00016 00013 00010

man seq

Johan

12
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60434 internautes nous ont dit merci ce mois-ci

Bonjour,

Au cas où quelqu'un n'aurait pas trouvé, il y a 2 manières:

for line in $(cat tab.txt)
do
query="select * from "$line";"
echo $query
done

ou alors:

for ((o=1; o<=$counttab; o++))
do
echo $o
done

Pour le cas où vous souhaitez utiliser un compteur:

typeset -i counttab
counttab=42
let counttab=$counttab-1
echo $counttab


Voici, vous êtes donc paré.

Cdt,
Bladeboxe
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
5 décembre 2019
4 745
Merci, mais bon, pour la boucle avec compteur, mieux vaut un 0 (zéro) plutôt qu'un o (la lettre O) ;-\
Haha, mais quel humour ; )
Bonjour,

poursuivant le precedant post, on peut tout ecrire sur uen seule ligne:
for file in a b c d e; do echo voila les $file; done;

Si vous voulez affectuer des operations sur les fichiers:
for file in `ls *`; do echo voila les $file; done;

etc
Et si les noms de fichiers contiennent des espaces? Comment faire pour avoir le nom complet (avec les espaces) dans la variable?
Messages postés
18159
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
12 juillet 2020
4 898
for variable in liste, liste étant une liste d'éléments séparés par un blanc ou le séparateur standard

for N in a b c d e
do
echo $N
done