Re: [ssfr] Trouver et supprimer des répertoires vides

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


* steve <dlist@xxxxxxxxxx> [2011-01-13 13:48:06 +0100] wrote :

> Salut,
> 
> En ce début d'année, j'ai un besoin pressant de faire du ménage sur ma
> machine. J'aimerai, pour commencer, supprimer tous les répertoires vides (cachés ou
> pas).
> 
> Avec la commande « find », j'ai ça pour l'instant pour trouver les
> répertoires vides, et ça semble marcher pas trop mal. Depuis mon home :
> 
> $ find . -maxdepth 1 -type d -empty -print | xargs /bin/rm -ri
> 
> ./.covers
> ./.wicd
> ./.lyx
> ./.bins
> ./media_xwave.ch
> ./Public
> ./.debtags
> ./.gmpc
> ./.gnome2_private
> ./.audacity1.3-steve
> ./.gvfs
> ./.kino-history
> 
> Logiquement avec le -maxdepth 1, je devrais tous les trouver. Non ?
> 
> Ensuite il faut les supprimer. J'aimerai pouvoir supprimer les
> répertoires un après l'autre, en me demandant de confirmer pour ne pas
> faire de bêtises (option -i de rm). J'ai donc ajouté :
> 
> $ find . -maxdepth 1 -type d -empty -print | xargs /bin/rm -ri
> 
> et en faisant le test sur :
> 
> $ tree
> .
> ├── a
> ├── b
> │   └── asdasd.txt
> ├── c
> └── d
> 
> 4 directories, 1 file
> 
> j'obtiens (sur une ligne) : 
> 
> /bin/rm : supprimer répertoire « ./a » ? /bin/rm : supprimer répertoire
> « ./c » ? /bin/rm : supprimer répertoire « ./d » ? $
> steve@localhost:~/test
> 
> Donc je ne peux pas répondre, ce n'est pas interactif comme je le
> voudrais. Qu'y a-t-il de faux ?
> 
> Merci pour vos idées et suggestions.
> 
> Et bonne année à tout le monde !
> 
> steve

Salut et bonne année,

Il te suffit d'utiliser l'option -delete de find :)
Donc ta commande devient :

 $ find . -maxdepth 1 -type d -empty -print -delete

Avec shell préféré, zsh pour pas le nommer :

 $ rm -d **/*(/^F)

te fera la même chose :)

Explication : 

**/* pour aller recursivement dans les repertoires fils
le / signifie seulement les repertoires 
le F signifie FULL (répertoires avec des données) et le ^ indique le
contraire. Donc les répertoires vides.

Mes 2 cents.

-- 
 .''`.  Edi Stojicevic
: :'  : Debian GNU/Linux user, admin & developer - http://www.debian.org 
`. `~'  
  `-    
If you have to ask how much it is, you can't afford it.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/