Premièrement, tu peux faire ton for sur une seule ligne :
$ for f in *.jpg ; do frob $f ; done
Deuxièmement, tu peux faire des commandes de plusieurs lignes dans le shell interactif :
$ for f in *.jpg
> do
> frob $f
> done
Troisièmement, le *.jpg va pauser des problèmes si tu as vraiment beaucoup d'images. Tu peux résoudre le problème en utilisant find comme mentionné ci-dessus.
Quatrièmement, tu peux diminuer significativement le temps d'exécution en consommant plus de CPU en parallélisant le tout :
$ find . -name '*.jpg' -print0 | xargs -0 -P 42 -I F -n 1 frob F
# sh 101
Posté par Krunch (courriel, site web personnel) . En réponse au message Éviter les boucles avec des syntaxes de gourou. Évalué à 7.
Premièrement, tu peux faire ton for sur une seule ligne :
Deuxièmement, tu peux faire des commandes de plusieurs lignes dans le shell interactif :
Troisièmement, le *.jpg va pauser des problèmes si tu as vraiment beaucoup d'images. Tu peux résoudre le problème en utilisant find comme mentionné ci-dessus.
Quatrièmement, tu peux diminuer significativement le temps d'exécution en consommant plus de CPU en parallélisant le tout :
Il y a aussi GNU Parallel qui peut être utile mais tout ce que j'en connais vient de dépèches DLFP : http://www.gnu.org/software/parallel/
Tous ces exemples supposent l'utilisation de Bash, GNU coreutils et GNU find.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.