Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/09/2007, à 21:17

Robertocarlos14

[RESOLU] [Script ou Commande] Parcours récursif de répertoire

Bonjour tous le monde,
Après avoir parcouru de longues minutes le forum, je n'ai pas trouvé ce que je voulais hmm:/:/
Je souhaiterai une commande ou script pour parcourir une arborescence de fichier (donc récursif) et pouvoir appliquer une action sur un certain type de fichier (par exemple .png)
Je suis arrivé à la commande suivante :

for i in `find . -name *.png`; do rm $i; done

Par contre, mes fichiers comportent des espaces dans leurs noms de fichier et j'ai donc les noms des fichiers coupés en plusieurs morceaux.

rm: ne peut enlever `./IAM/L\'ècole': Aucun fichier ou répertoire de ce type
rm: ne peut enlever `du': Aucun fichier ou répertoire de ce type
rm: ne peut enlever `Micro': Aucun fichier ou répertoire de ce type
rm: ne peut enlever `D\'Argent/cover.png': Aucun fichier ou répertoire de ce type

J'espère que vous aurez une solution (je commence à désespérer big_smile:D:D)


Voici la réponse (merci itsmokes):

find . -type f -name "*.png" -exec rm {} \;

Dernière modification par Robertocarlos14 (Le 24/09/2007, à 21:55)

Hors ligne

#2 Le 24/09/2007, à 21:32

tukuyomi

Re : [RESOLU] [Script ou Commande] Parcours récursif de répertoire

L'utilisation des guillemets après le rm:

for i in `find . -name *.png`; do rm "$i"; done

devrait résoudre le problème smile

Hors ligne

#3 Le 24/09/2007, à 21:36

Robertocarlos14

Re : [RESOLU] [Script ou Commande] Parcours récursif de répertoire

Merci pour ta réponse, mais j'avais déjà essayé et ce la ne solutionne pas le problème : j'ai toujours le même problême avec un retour à la ligne à chaque espace dans le nom du fichier sad:(:(

Hors ligne

#4 Le 24/09/2007, à 21:43

tukuyomi

Re : [RESOLU] [Script ou Commande] Parcours récursif de répertoire

Et sinon ça?

for i in `ls -R | grep .png`; do echo "$i"; done

(remplacé le rm par echo dans le cas où ça ne marcherait pas comme prévu...)

Hors ligne

#5 Le 24/09/2007, à 21:47

itsmokes

Re : [RESOLU] [Script ou Commande] Parcours récursif de répertoire

find . -type f -name "*.png" -exec rm {} \;

devrait aussi le faire. (Attention rm commande dangeureuse)

Dernière modification par itsmokes (Le 24/09/2007, à 21:55)

Hors ligne

#6 Le 24/09/2007, à 21:53

Robertocarlos14

Re : [RESOLU] [Script ou Commande] Parcours récursif de répertoire

Merci beaucoup big_smile:D:D
Pour information, tukuyomi : j'avais essayé ta commande mais elle liste uniquement les noms de fichier et non les chemins, donc la commande ne trouve pas le fichier.
Sinon, bravo itsmokes, cela marche parfaitement (j'avais vu ce style de commande dans un post du forum mais je n'avais pas la bonne syntaxe : oubli du \).

Hors ligne

#7 Le 24/09/2007, à 21:55

itsmokes

Re : [RESOLU] [Script ou Commande] Parcours récursif de répertoire

De rien smile

Hors ligne