Script shell - commande find [Résolu/Fermé]

Signaler
-
 PProni -
Bonjour,

Je debute en bash et je cherche à faire un script qui parcours des dossiers (plusieurs centaines) et qui va supprimer des fichiers (plusieurs milliers) suivant leurs extensions.
Pouvez vous me mettre le pied à l'étrier?
Merci

3 réponses

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 770
Salut,

Essaie ça dans un premier temps :

find /chemin/rep_parent -type f -name "*.extension" -exec echo "rm {}" \;

Si la liste qui s'affichera te parait exacte, alors tu pourras relancer la commande sans le "echo", comme suit :

find /chemin/rep_parent -type f -name "*.extension" -exec rm -f {} \;

Attention de bien renseigner le chemin du répertoire de départ, ainsi que le nom de l'extension...

La commande suivante devrait aussi le faire, mais prudence...

find /chemin/rep_parent -type f -name "*.extension" -delete

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Bonjour Jipicy

Merci de ta réponse;
Je teste tout de suite.

Bon et ben c'est super ça marche nickel
Merci encore
Petite question, comment travailler sur plusieurs extensions à la fois?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 770
Il faut regrouper les critères entre parenthèses protégées avec le paramètre "-o" (ou) :

\( -name "*.ext1" -o -name "*.ext2" \)
Ok, je comprends.

Mille mercis
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci