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.