#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 :/:/
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 :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
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 :(:(
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 :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
Hors ligne