Comment supprimer tous les dossiers sauf quelques-uns mentionnés dans linux

J’ai la structure de dossiers suivante dans mon dossier wp-content =>

 2016/ => it has many subfolders in it and I wanna keep them 2015/ => it has many subfolders in it and I wanna keep them 2014/ => it has many subfolders in it and I wanna keep them 2013/ => it has many subfolders in it and I wanna keep them besides those folder there are tons of temp folders which I want to delete along with anything inside it. The folder name look like this: ZhsvhgTjh/ Vgfsugu79/ 1agDjgdki/ 8gdygREfh/ Hbjddsyug/ ....so on.... 

Maintenant, le problème est que si je lance rm -f il va supprimer tout ce qui se trouve dans ce dossier, y compris les dossiers comme 2016, 2015, 2014, 2013 .

Aussi, si j’essaye ce qui suit: find . -name a -exec rm -rf {} \; find . -name a -exec rm -rf {} \; alors il ne fonctionnera que pour 1 nom de dossier et j’ai tapé chaque nom de dossier aléatoire qui est insensé car il a plus de 20 000 dossiers temporaires.

J’espérais donc que quelqu’un puisse m’aider avec une commande permettant de supprimer tous les dossiers et contenus, à l’exception des dossiers 2016, 2015, 2014, 2013 et de leur contenu.

En outre, en tant que commande de suppression, quelqu’un peut-il me dire s’il existe un moyen d’exécuter une commande count pour voir si la requête sélectionne le bon nombre de dossiers ou non? Je ne veux pas supprimer des choses importantes accidentellement.

Je vous remercie.

Arbre d’impression

 prodrive11@raccoon:~/tmpp/wp-content$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' . |-2015 |---keep2 |---keep3 |-2016 |---keep1 |---keep2 |-NKAXOIND |-x232sfsw |---we233ds 

Afficher les dossiers de nettoyage:

  prodrive11@raccoon:~/tmpp/wp-content$ find . -type d | grep -Pv '20\d{2}' | tail -n +2 ./x232sfsw ./x232sfsw/we233ds ./NKAXOIND 

Compte les

 prodrive11@raccoon:~/tmpp/wp-content$ find . -type d | grep -Pv '20\d{2}' | tail -n +2 | wc -l 3 

Retirez-les

 prodrive11@raccoon:~/tmpp/wp-content$ find . -type d | grep -Pv '20\d{2}' | tail -n +2 | xargs rm -rf 

Montrer l’arbre à nouveau

 prodrive11@raccoon:~/tmpp/wp-content$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' . |-2015 |---keep2 |---keep3 |-2016 |---keep1 |---keep2