Digamos que tengo un montón de fotos, todas con información EXIF correcta, y las fotos se nombran al azar (debido a un problema que tuve). Tengo un pequeño programa llamado jhead
que me da el siguiente resultado:
$ jhead IMG_9563.JPG
File name : IMG_9563.JPG
File size : 638908 bytes
File date : 2011:02:03 20:25:09
Camera make : Canon
Camera model : Canon PowerShot SX210 IS
Date/Time : 2011:02:03 20:20:24
Resolution : 1500 x 2000
Flash used : Yes (manual)
Focal length : 5.0mm (35mm equivalent: 29mm)
CCD width : 6.17mm
Exposure time: 0.0080 s (1/125)
Aperture : f/3.1
Focus dist. : 0.29m
ISO equiv. : 125
Exposure bias: -1.67
Whitebalance : Manual
Light Source : Daylight
Metering Mode: pattern
Exposure Mode: Manual
Ahora necesito cambiar el nombre de todas las fotos en la carpeta en el siguiente formato:
001.JPG
002.JPG
003.JPG
...
Donde el número menor sería la imagen más antigua y el máximo el más nuevo.
No soy tan bueno escribiendo guiones, así que estoy pidiendo ayuda.
Creo que un script bash es suficiente, pero si te sientes más cómodo, puedes escribir un script python.
Pensé en algo como:
$ mv IMG_9563.JPG `jhead IMG_9563.JPG | grep date`
pero no sé cómo hacer eso para todos los archivos a la vez.
ls *.JPG | wc > rename
Y luego tendría que usar un cambio de nombre de script a XXX.JPG
wc
, olvidé el que ordenar por nombre.