Sommaire

Exercice

Exercice

Pour chaque extension .conf, .cfg et .d, indiquez s’il y a plus de 10 fichiers ou non, dont le nom se termine avec cette extension dans le répertoire /etc.

Solution

La solution utilise une boucle for pour parcourir avec la variable $ext les différentes extensions proposées dans l’énoncé.

[nicolas]$ for ext in .conf .cfg .d 
> do 
>   [[ $(ls -d /etc/*$ext | wc -l) -gt 10 ]] \ 
>     && echo "il a plus de 10 fichiers se terminant par $ext" \ 
>     || echo "il a moins de 10 fichiers se terminant par $ext" 
> done 
il a plus de 10 fichiers se terminant par .conf 
il a moins de 10 fichiers se terminant par .cfg 
il a plus de 10 fichiers se terminant par .d

La commande ls -d /etc/*$ext | wc -l, qui retourne le nombre de fichiers correspondants, est substituée ($(...)) par son résultat dans le test ([[... -gt 10 ]]) qui, lui, détermine s’il y en a plus de 10.

Si ce test est vrai (&&), on exécute la commande echo "...plus..." ; sinon (||), on exécute la suivante : echo "...moins...".