A voir également:
- Renommer extension linux
- Renommer des fichiers en masse - Guide
- Changer extension fichier - Guide
- Extension .bin - Guide
- Extension dat - Guide
- Renommer son iphone - Guide
7 réponses
c'est sans doute pas la méthode la plus élégante...
en console :
attention aux ` qui sont différents de ' ou de " !!
j'ai mis un "cp" au lieu de "mv" car je pense que c'est plus sur....
ensuite
si ca a fait ce que tu voulais
Phiphi
en console :
for i in `find . -name "*.x"` do cp $i ${i%.x}.y done
attention aux ` qui sont différents de ' ou de " !!
j'ai mis un "cp" au lieu de "mv" car je pense que c'est plus sur....
ensuite
for i in `find . -name "*.x"` do rm $i done
si ca a fait ce que tu voulais
Phiphi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour, je voudrais faire la même chose, à une petite différence :
j'ai toto.ext1, je veux toto.ext2
Avec le bout de code proposé, j'ai toto.ext1.ext2
Pouvez vous m'aider ?
j'ai toto.ext1, je veux toto.ext2
Avec le bout de code proposé, j'ai toto.ext1.ext2
Pouvez vous m'aider ?
Super c'est ce que je cherchais
Faut que je bosse le shell, je perdrai moins de temps.
Merci pour la commande
Faut que je bosse le shell, je perdrai moins de temps.
Merci pour la commande
Des solutions sympas, mais pas performantrs, pourquoi ne pas utiliser un pipe avec xargs et rename ?
johand@hathor:~/tmp$ for i in $(seq -f %03.0f 0 999); do echo $i > $i.ext1 ; done
ohand@hathor:~/tmp$ time for file in $(find . -type f -name '*ext1') ; do rename 's/ext1$/ext2/' $file; done
real 1m16.643s
user 1m8.228s
sys 0m8.501s
johand@hathor:~/tmp$ time find . -type f -name '*ext2') |xargs rename 's/ext2$/ext1/' $file; done
bash: syntax error near unexpected token `)'
johand@hathor:~/tmp$ time find . -type f -name '*ext2' | xargs rename 's/ext2$/ext1/' $file
real 0m0.551s
user 0m0.344s
sys 0m0.220s
jjohand@hathor:~/tmp$ uname -a
Linux hathor 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686 GNU/Linu
On voit les différences en temps d'exécution.....
johand@hathor:~/tmp$ for i in $(seq -f %03.0f 0 999); do echo $i > $i.ext1 ; done
ohand@hathor:~/tmp$ time for file in $(find . -type f -name '*ext1') ; do rename 's/ext1$/ext2/' $file; done
real 1m16.643s
user 1m8.228s
sys 0m8.501s
johand@hathor:~/tmp$ time find . -type f -name '*ext2') |xargs rename 's/ext2$/ext1/' $file; done
bash: syntax error near unexpected token `)'
johand@hathor:~/tmp$ time find . -type f -name '*ext2' | xargs rename 's/ext2$/ext1/' $file
real 0m0.551s
user 0m0.344s
sys 0m0.220s
jjohand@hathor:~/tmp$ uname -a
Linux hathor 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686 GNU/Linu
On voit les différences en temps d'exécution.....