Depuis le répertoire courant, cela donne :
ls -Rl | egrep « ^d »
Le petit ^signifie « commence par ». On recherche donc toutes les lignes commençant par d avec la commande ls (lister). d voulant dire directory ou répertoire en français. L’option -R indique qu’il faut parcourir aussi les sous-répertoires, … c’est l’option récursive. La commande egrep est utilisée lorsqu’on veut faire des recherches avec des expressions régulières en paramètre.
Nous pouvons bien sûr rediriger les résultats dans un fichier :
ls -Rl | egrep « ^d » > /home/fatiha/listeDeTousLesRepertoires
Nous pouvons aussi facilement les compter avec la commande wc :
ls -Rl | egrep « ^d » | wc -l
Exemple sur mon ordi :
[fatiha@localhost ~]$ ls -Rl | egrep « ^d » | wc -l
2205
Vous pourrez voir apparaître quelques erreurs au cas où vous n’auriez pas le droit de lister le contenu d’un répertoire « Permission denied », exemple :
ls: cannot open directory ./Téléchargements/android-sdk-linux: Permission denied
ls: cannot open directory ./workspace/HelloFedora/bin/res/drawable-hdpi: Permission denied
ls: cannot open directory ./workspace/HelloFedora/bin/res/drawable-ldpi: Permission denied
ls: cannot open directory ./workspace/HelloFedora/bin/res/drawable-mdpi: Permission denied
ls: cannot open directory ./workspace/HelloFedora/gen/com: Permission denied
Dans ce cas, soit vous changez les droits, soit vous redirigez les erreurs lors du lancement de la ligne de commande. Cela donnerait :
ls -Rl 2>/dev/null | egrep « ^d » | wc -l
Vous souhaitez afficher uniquement le nom du répertoire, c’est possible en utilisant la commande awk et en lui disant de n’afficher que la 9e colonne :
ls -Rl 2>/dev/null | egrep « ^d » | awk ‘{ print $9 }’
Vous pouvez classer les noms par ordre alphabétique avec la commande sort :
ls -Rl 2>/dev/null | egrep « ^d » | awk ‘{ print $9 }’ | sort
