Find et rm

Si vous voulez changer les droits et supprimer tous les dossiers du répertoire /John qui commencent par “test” et finissent par “.bdr” :

# find /home/John/ -type d -name "test*.bdr" -exec sh -c 'chmod u+w {}/* ; rm -f {}/*' \;

Vérification

En cas de doute, vous pouvez simplement lancer le début de la commande, find listera tous les fichiers qui seront modifiés et supprimés avec chmod et rm -f:

# find /home/John/ -type d -name "test*.bdr"

Décomposition de la commande

Deux parties essentielles :

  • find /home/John/ -type d -name "test*.bdr" : recherche les dossier dans le répertoires /John qui commencent par “test” et finissent par “.bdr”
  • -exec sh -c : récupère le résultat obtenu de find et applique les commandes suivantes
    • chmod u+w {}/* : le résultat de find se trouve entre {}, applique chmod
    • ; : pour ajouter une commande
    • rm -f {}/* : le résultat de find se trouve entre {}, applique rm -f
    • \; : fin de la commande
> Partager <