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 ^^
Plus simple :
rmdir *
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’ \;