Linux : supprimer le contenu d'un répertoire sauf...

Quand vous voulez garder des fichiers/dossiers spécifiques dans un répertoire en supprimant tout le reste, vous pouvez tapper ça.

damien@vm:~/test$ find . -maxdepth 1 ! -name . ! -name 'a_garder_*' -exec rm -rf {} \;

Exemple :

damien@vm:~/test$ for i in `seq 1 20`; do touch a_jeter_$i; done
damien@vm:~/test$ for i in `seq 1 3`; do touch a_garder_$i; done
damien@vm:~/test$ ls
a_garder_1  a_garder_2  a_garder_3  a_jeter_1  a_jeter_10  a_jeter_11  a_jeter_12  a_jeter_13  a_jeter_14  a_jeter_15  a_jeter_16  a_jeter_17  a_jeter_18  a_jeter_19  a_jeter_2  a_jeter_20  a_jeter_3  a_jeter_4  a_jeter_5  a_jeter_6  a_jeter_7  a_jeter_8  a_jeter_9
damien@vm:~/test$ find . -maxdepth 1 ! -name . ! -name 'a_garder_*' -exec rm -rf {} \;
damien@vm:~/test$ ls
a_garder_1  a_garder_2  a_garder_3
damien@vm:~/test$

Damien Gustave

Read more posts by this author.