BASH Comment supprimer des repertoires vide

Une question simple avec une réponse tout aussi simple, comment qu’on fais pour virer un nombre N de répertoire vide sans devoir faire un ‘rm -rf’ a la main pour chaque répertoire.

Le find qui sert a supprimer tous les rpertoires vide d’un repertoire

find . -maxdepth 1 -type d -empty -exec sh -c 'rm -rf "{}" && echo "{}" deleted' \;

Je crée des répertoires bidon pour les tests :p

hio@fantasy:~/test$ mkdir {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,notemptydir} 
hio@fantasy:~/test$ echo maisblu > notemptydir/testfile
hio@fantasy:~/test$ ls -l
total 88
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 0
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 1
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 10
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 11
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 12
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 13
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 14
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 15
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 16
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 17
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 18
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 19
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 2
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 20
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 3
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 4
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 5
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 6
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 7
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 8
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 9
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 notemptydir

On execute le find ^^

 
hio@fantasy:~/test$  find . -maxdepth 1 -type d -empty -exec sh -c 'rm -rf "{}" && echo "{}" deleted' \;
./16 deleted
./10 deleted
./14 deleted
./15 deleted
./4 deleted
./17 deleted
./19 deleted
./2 deleted
./1 deleted
./7 deleted
./13 deleted
./3 deleted
./20 deleted
./12 deleted
./0 deleted
./18 deleted
./6 deleted
./8 deleted
./11 deleted
./5 deleted
./9 deleted
hio@fantasy:~/test$ ls -l
total 4
drwxr-xr-x 2 hio hio 4096 2009-06-15 22:09 notemptydir

Voila rien de bien sorcier ^^

2 thoughts on “BASH Comment supprimer des repertoires vide

  1. mouai le find a qd meme un gros avantage , préciser la date de création du répertoire, ses permissions, le owner, etc …

    et puis je trouves ça plus rigolo :p


    hio@jupiter:~/test$ chown daemon:daemon -R {4,5,7}
    hio@jupiter:~/test$ find . -maxdepth 1 -user daemon -type d -empty -exec sh -c ‘rm -rf « {} » && echo « {} » deleted’ \;