Salut à tous,
Je cherche un moyen sous linux de modifier l'extension de plusieurs fichiers d'un répertoire.
Par exemple je veux modifier l'extension de tous les fichiers .h en .c d'un répertoire.
Merci de votre aide. A+
Version imprimable
Salut à tous,
Je cherche un moyen sous linux de modifier l'extension de plusieurs fichiers d'un répertoire.
Par exemple je veux modifier l'extension de tous les fichiers .h en .c d'un répertoire.
Merci de votre aide. A+
Code:
1
2
3
4 #!/bin/sh for i in `ls $1/*.c`; do mv $i `basename $i .c`.h done
dans le man de rename il est ecrit :
- Par exemple, pour renommer tous les fichiers correspondant à "*.bak" de
manière à retirer leur extension, vous pouvez faire
rename 's/\e.bak$//' *.bak
mais chez moi ca ne marche pas..
Merci bien tout fonctionne maintenant a+
j'arrive pas à le faire marcher ce bout de code,Citation:
Envoyé par Luc Hermitte
et puis en + ca ajoute une extension, ca ne la modifie pas
Quelques remarques:
- ce code est fait pour définir un fichier de script
- ce script attend un répertoire en paramètre
- il ne transforme que les .c en .h (remplace tous les ".c" par $2 et tous les ".h" par $3 si tu veux un script un chouilla plus souple)
Il serait parfaitement extensible, mais je laisse en "exercice".
Je viens de le retester avec cygwin+bash, il marche très bien.