Re: besoin d'un coup de main en bash

Top Page

Reply to this message
Author: Nicolas Kowalski
Date:  
To: guilde
Subject: Re: besoin d'un coup de main en bash


> j'ai un lot de photos à renommer
> ces photos on toutes un nom de la forme :
> pmjjnnnn.jpg
>
> le p veut seulement dire qu'il s'agit d'une photo
> le m est le N° du mois (en hexa)
> les j sont la date du jour ou à été prise la photo
> les n sont le numéro d'ordre de la photo
>
> je voudrais remplacer le p par 2003, le m par le mois en décimal, et
> conserver les jj et les nnnn tels quels
>
> exemple :
> le fichier pa090025.jpg deviendrait ainsi 200310090025.jpg


Je ferais bien un truc comme ça:

for f in p*.jpg ; do
    # mois en hexa
    monthx="`echo ${f} | cut -c2`"


    # mois en decimal
    month="`printf '%02d' '0x'${monthx}`"


    # nom final
    name="2003${month}`echo ${f} | cut -c3-`"


    # renommer
    mv ${f} ${name}
done


--
Nicolas