Re: besoin d'un coup de main en bash

トップ ページ

このメッセージに返信
著者: Nicolas Kowalski
日付:  
To: guilde
題目: 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