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...".