CommencerCommencer gratuitement

Comment exécuter plusieurs commandes dans une seule boucle ?

L’affichage de noms de fichiers est utile pour le débogage, mais l’objectif réel des boucles est de manipuler plusieurs fichiers. Cette boucle affiche la deuxième ligne de chaque fichier de données :

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

Elle a la même structure que les autres boucles que vous avez déjà vues : la seule différence, c’est que son corps est un pipeline de deux commandes au lieu d’une seule commande.

Cet exercice fait partie du cours

Introduction au shell

Afficher le cours

Instructions

Ecrivez une boucle qui affiche la dernière entrée de juillet 2017 (2017-07) dans chaque fichier saisonnier. Elle devrait produire un résultat similaire à :

grep 2017-07 seasonal/winter.csv | tail -n 1

mais pour chaque fichier saisonnier séparément. Veuillez utiliser file comme nom de la variable de boucle et n’oubliez pas de parcourir la liste des fichiers seasonal/*.csv (au lieu de « seasonal/winter.csv » comme dans l’exemple).

Exercice interactif pratique

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

Commencer l’exercice