Le 01/03/2013 11:17, Sebastien Caps a écrit :
Bonjour à tous,

ça fait un petit temps que "j'espionne" la mailinglist et je me dis
que vous pourriez certainement m'aider pour ce qui suit:)

j'ai les fichiers sous la forme suivante dans un répertoire:
rapportXXXX_2012-12.odt  rapportXYZ_2012-12.odt
rapportBlabla_2012-12.odt  rapportFooo_2012-12.odt ...

je veux les renommer en :
rapportXXXX_2013-01.odt  rapportXYZ_2013-01.odt
rapportBlabla_2013-01.odt  rapportFooo_2013-01.odt ...

alors depuis longtemps j'exécute la commande suivante pour arriver a
mon résultat:
for L in $( ls  *2012-12* ); do mv $L `echo $L | sed -e
's/2012-12/2013-01/g'` ; done

mais bon je me dis qu'il doit y avoir mieux ou plus sexy en utilisant
par exemple "rename"
ou quelque chose dans le genre mais je n'y suis jamais arrivé, auriez
vous une piste/solution ?

Et merci d'avance ;)
Seb
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Plop,

Pas mieux que rename en sexy...sinon en variante mais le "-r" de sed me gêne pour être portable ;-)

find . -name \*2012-12\* |sed -r 's|(.+)2012-12\.(.+)|mv "\12012-12.\2" "\12013-01.\2"|'|sh -i


Sinon pour rename, il semble qu'il y ait plusieurs solutions sur Debian, mais je n'ai pas creusé :

gprename
mrename
pyrenamer
renameutils


Amicalement,

JYL
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à