En étant tordu au point de se passer de date pour n'utiliser que du Bash (contrairement à l'exemple donné plus bas): for i in *.jpg ; do t=$((10#${i: -10:2}*3600+10#${i: -8:2}*60+10#${i: -6:2}-620)) ; mv "$i" "${i:0:-10}$(printf %02d%02d%02d $((t/3600)) $((t/60%60)) $((t%60)))${i: -4:4}" ; done
Sinon, une regexp ne fait que reconnaître un motif, pour transformer ton texte, il faut lui ajouter une autre construction. Donc grep n'est pas suffisant, mais sed l'est (en passant par de l'arithmétique unaire).
[^] # Re: Regex master
Posté par pma . En réponse au message Regex - Modifier une heure dans une chaîne. Évalué à 5.
En étant tordu au point de se passer de date pour n'utiliser que du Bash (contrairement à l'exemple donné plus bas):
for i in *.jpg ; do t=$((10#${i: -10:2}*3600+10#${i: -8:2}*60+10#${i: -6:2}-620)) ; mv "$i" "${i:0:-10}$(printf %02d%02d%02d $((t/3600)) $((t/60%60)) $((t%60)))${i: -4:4}" ; doneSinon, une regexp ne fait que reconnaître un motif, pour transformer ton texte, il faut lui ajouter une autre construction. Donc grep n'est pas suffisant, mais sed l'est (en passant par de l'arithmétique unaire).