Sous Linux, comment puis-je vérifier tous les dossiers d'un répertoire et afficher le nom de tous les répertoires qui sont vides dans une liste.
Vous devez remplacer "/" par le répertoire que vous souhaitez utiliser comme racine de recherche.
Sous Linux, comment puis-je vérifier tous les dossiers d'un répertoire et afficher le nom de tous les répertoires qui sont vides dans une liste.
Vous devez remplacer "/" par le répertoire que vous souhaitez utiliser comme racine de recherche.
Etes-vous sûr que vos répertoires sont vraiment vides ? Faites ls -a pour voir les fichiers cachés (point).
Merci ! Il fonctionne bien sur mon système. Pour obtenir une liste triée, utilisez : find / -type d -empty | sort -u
Avec Zsh, vous pouvez effectuer les opérations suivantes :
printf '%q\n' ./*/**/(/DN^F)
Remplacer .
avec le chemin d'accès réel au répertoire que vous voulez, ou supprimez-le si vous voulez rechercher dans tout le système de fichiers.
Dans la section intitulée Qualifications globales :
F
des répertoires "pleins" (c'est-à-dire non vides). Notez que le sens inverse
(^F)
s'étend aux répertoires vides et à tous les non-répertoires. Utilisez(/^F)
pour les répertoires vides.
/
signifie montrer les répertoiresD
permet de rechercher également les fichiers (répertoires dans ce cas) cachés.N
Active le modèle nul, c'est-à-dire que le cas où il ne trouve aucun répertoire ne devrait pas faire échouer le glob.F
permet d'afficher les répertoires non vides^
est utilisé pour nier la signification du ou des qualificatifs qui le suivent.Pour les mettre tous dans un tableau :
empties=(./*/**/(/DN^F))
Bonus : Pour supprimer tous les vide les répertoires :
rmdir ./*/**/(/DN^F)
On dirait qu'on a finalement trouvé un cas utile de rmdir
!
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Similaire : Utilisez GNU find pour ne montrer que les répertoires feuilles. à SO
0 votes
man find
explique les différents formats de liste. Voir-print
et-print0
par exemple.