CommencerCommencer gratuitement

Comment effectuer plusieurs opérations dans une seule boucle ?

Les boucles que vous avez vues jusqu’à présent ont toutes une seule commande ou un seul pipeline dans leur corps, mais une boucle peut contenir un nombre quelconque de commandes. Pour indiquer au shell où se termine une commande et où commence la suivante, vous devez les séparer par des points-virgules :

for f in seasonal/*.csv; do echo $f; head -n 2 $f | tail -n 1; done
seasonal/autumn.csv
2017-01-05,canine
seasonal/spring.csv
2017-01-25,wisdom
seasonal/summer.csv
2017-01-11,canine
seasonal/winter.csv
2017-01-03,bicuspid

Supposons que vous oubliez le point-virgule entre les commandes echo et head dans la boucle précédente, de manière à exécuter :

for f in seasonal/*.csv; do echo $f head -n 2 $f | tail -n 1; done

Que fera le shell ?

Cet exercice fait partie du cours

Introduction au shell

Afficher le cours

Exercice interactif pratique

Passez de la théorie à la pratique avec l’un de nos exercices interactifs

Commencer l’exercice