#1 Le 31/03/2008, à 04:53
- soupaloignon
[Résolu] changer des extensions différentes en une seule avec rename
Bonjour,
Je voudrais changer plusieurs extensions de fichiers (.JPG .JPEG . jpeg) en .jpg
Jusqu'à présent j'utilisais
#! /bin/bash
rename 's/(.*)\.JPG/$1\.jpg/' *.JPG
rename 's/(.*)\.JPEG/$1\.jpg/' *.JPEG
rename 's/(.*)\.jpeg/$1\.jpg/' *.jpeg
qui fonctionne très bien d'ailleurs.
Juste pour le fun je voudrais savoir s'il est possible de passer ça en 1 seule ligne de commande, et donc comment écrire les .JPG .JPEG . jpeg dans cette ligne de commande.
Merci pour vos avis éclairés
Dernière modification par soupaloignon (Le 31/03/2008, à 12:03)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#2 Le 31/03/2008, à 06:16
- abetsic
Re : [Résolu] changer des extensions différentes en une seule avec rename
Bonjour,
Peut être quelque chose comme ça :
rename 's/(.*)\.[Jj][Pp][eE]?[Gg]/$1\.jpg/' *
Hors ligne
#3 Le 31/03/2008, à 11:18
- soupaloignon
Re : [Résolu] changer des extensions différentes en une seule avec rename
Bonjour,
Peut être quelque chose comme ça :
rename 's/(.*)\.[Jj][Pp][eE]?[Gg]/$1\.jpg/' *
Bonjour et merci pour ta réponse. Mais cela ne fonctionne pas. PAr contre je n'aipas trop compris le "?" au milieu de la ligne de code.
J'ai essayé :
rename 's/(.*)\.[JPG][JPEG][jpeg]/$1\.jpg/' *
rename 's/(.*)\.[JPG][JPEG][jpeg]?/$1\.jpg/' *
rename 's/(.*)\.[JPG][JPEG][jpeg]?/$1\.jpg/' *
Dernière modification par soupaloignon (Le 31/03/2008, à 11:18)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#4 Le 31/03/2008, à 11:29
- Alain.g
Re : [Résolu] changer des extensions différentes en une seule avec rename
salut
La ligne de abetsic devrait fonctionner, par contre :
- pour rendre insensible à la case, il faut utiliser le modificateur /i
- inutile de capturer la première partie du nom, utiliser $ (fin de chaîne)
ça donnerait :
rename 's/\.jpe?g$/.jpg/i' *
Le point d'interrogation sert à indiquer que le "e" peut être présent une ou zéro fois.
Dernière modification par Alain.g (Le 31/03/2008, à 11:30)
Xubuntu Karmic !
Hors ligne
#5 Le 31/03/2008, à 12:02
- soupaloignon
Re : [Résolu] changer des extensions différentes en une seule avec rename
Merci à vous 2 pour vos informations
abetsic : Ta ligne de code fonctionne effectivement, au temps pour moi. Comme je n'avais pas compris l'utilité du "?", ni même d'ailleurs la structure, je l'avais modifié.
Alain.g : La tienne fonctionne aussi, et merci pour les explications (j'ai un peu de temps en ce moment, donc je me replonge dans le fignolage du script des exif et iptc)
Dernière modification par soupaloignon (Le 31/03/2008, à 12:04)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#6 Le 31/03/2008, à 12:17
- Alain.g
Re : [Résolu] changer des extensions différentes en une seule avec rename
sinon un exemple pour changer l'extension de manière récursive avec find :
find . -type f -iregex '.*\.jpe?g$' -exec rename 's/\.\w+$/.jpg/' {} \;
Xubuntu Karmic !
Hors ligne