Les Allergies
Alimentaires
Posez votre question Signaler

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

tresb 1Messages postés 13 juillet 2007Date d'inscription - Dernière réponse le 23 sept. 2010 à 16:39
Bonjour
Je voudrai savoir si quelqu'un a une idée comment utilisé laboucle for dans le shell par exple : for var1,var2... done
Lire la suite 

Commande shell pour faire une boucle for »

7 réponses
Réponse
+7
moins plus
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

Ajouter un commentaire
Réponse
+2
moins plus
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
polarman - 6 mars 2009 à 22:31
Et si les noms de fichiers contiennent des espaces? Comment faire pour avoir le nom complet (avec les espaces) dans la variable?
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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
jipicy- 13 juin 2010 à 13:40
Merci, mais bon, pour la boucle avec compteur, mieux vaut un 0 (zéro) plutôt qu'un o (la lettre O) ;-\
anonyme - 23 sept. 2010 à 16:39
Haha, mais quel humour ; )
Ajouter un commentaire
Ce document intitulé « commande shell pour faire une boucle for » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?