#1 Le 28/05/2007, à 21:09
- Strash
[bash] Lister/supprimer les dossiers vides
Après réorganisation de ma bibliothèque musicale par Amarok, je me retrouve avec pas mal de dossiers vides. J'aimerai les effacer avec un petit script bash. Seulement je n'ai pas trouvé de solution pour savoir si un dossier est vide ou pas...
Ça permettra d'augmenter mes skills bash en même temps.
Merci
Hors ligne
#2 Le 28/05/2007, à 23:01
- BlaireauOne
Re : [bash] Lister/supprimer les dossiers vides
je me retrouve avec pas mal de dossiers vides. J'aimerai les effacer avec un petit script bash.
http://pwet.fr/man/linux/commandes/find
1._ sélection des répertoires vides et vérification par la commande ls :
find . -type d -empty | xargs ls
2._ sélection des répertoires vides et remove de ces répertoires
find . -type d -empty | xargs rm -r
Bonne soirée
Hors ligne
#3 Le 28/05/2007, à 23:21
- Strash
Re : [bash] Lister/supprimer les dossiers vides
Merci de ta réponse rapide !
J'ai encore un peu de mal avec les commandes bash et je n'avais pas pensé à find !
Par contre comment améliorer ton script pour qu'il supprime aussi les répertoires contenant des espaces ? (vi je suis chiant )
Hors ligne
#4 Le 28/05/2007, à 23:42
- abetsic
Re : [bash] Lister/supprimer les dossiers vides
find . -type d -empty -exec rmdir "{}" \;
a l'air de fonctionner après l'avoir testé.
{} désigne le fichier trouvé par find, et on rajoute les guillemets pour qu'il supprime les dossiers avec des espaces. Par contre, bien qu'il me signale une erreur, les dossiers vide sont bien supprimés.
Hors ligne
#5 Le 28/05/2007, à 23:47
- Balkoth
Re : [bash] Lister/supprimer les dossiers vides
On peut aussi rajouter l'option --null à xargs et l'option -print0 à find :
1._ sélection des répertoires vides et vérification par la commande ls :
find . -type d -empty -print0 | xargs --null ls
2._ sélection des répertoires vides et suppression de ces répertoires
find . -type d -empty -print0 | xargs --null rmdir
Hors ligne
#6 Le 07/01/2010, à 14:36
- bonhomme lego
Re : [bash] Lister/supprimer les dossiers vides
Bonjour, j'ai exactement le même soucis, mais quand j'essaie avec les commandes ci-dessus il ne trouve que les dossiers vide sur la partition ubuntu,
alors que mon dossier musique est sur une autre partition,
comment faire?
aqua-univers.com
Hors ligne
#7 Le 07/01/2010, à 14:52
- credenhill
Re : [bash] Lister/supprimer les dossiers vides
hello
cd /l'autre partition
puis le
find . ...
Hors ligne
#8 Le 07/01/2010, à 15:43
- bonhomme lego
Re : [bash] Lister/supprimer les dossiers vides
ok, merci
aqua-univers.com
Hors ligne
#9 Le 07/01/2010, à 17:34
- scholi
Re : [bash] Lister/supprimer les dossiers vides
rmdir *
devrait aussi marche en principe. Il fait juste des erreurs pour tout dossier non vide. Si on ne veut pas les messages d'erreurs
rmdir * 2> /dev/null
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Hors ligne
#10 Le 06/09/2011, à 18:42
- luron
Re : [bash] Lister/supprimer les dossiers vides
Pour voir la liste des dossiers supprimés:
find . -depth -type d -empty -exec rmdir --verbose {} \;
Hors ligne
#11 Le 29/07/2014, à 11:46
- teke
Re : [bash] Lister/supprimer les dossiers vides
le plus simple et rapide,
find . -type d -empty -delete