1. Apprendre
  2. /
  3. Cours
  4. /
  5. Introduction à l'invite de commande

Connected

Exercice

Comment exécuter plusieurs commandes dans une seule boucle?

Afficher les noms de fichiers est utile pour le débogage, mais l'objectif réel des boucles est d'agir sur 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 est que son corps est un enchaînement (pipeline) de deux commandes plutôt qu'une seule.

Instructions

100 XP

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

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

mais pour chaque fichier seasonal séparément. Veuillez utiliser file comme nom de variable de boucle, et n'oubliez pas d'itérer sur la liste de fichiers seasonal/*.csv (plutôt que « seasonal/winter.csv » comme dans l'exemple).