Скажімо, у мене є маса фотографій, всі з правильною інформацією EXIF, а фотографії є випадковими назвами (через проблему, яку я мав). У мене є невеличка програма, jhead
яка називається, що дає мені нижченаведений вихід:
$ 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
Тепер мені потрібно перейменувати всі фотографії в папці в наступному форматі:
001.JPG
002.JPG
003.JPG
...
Там, де другорядне число буде старшим зображенням, а максимальне - новим.
Я не такий хороший сценарій, тому прошу допомоги.
Я думаю, що bash-скрипту достатньо, але якщо вам буде зручніше, ви можете написати сценарій python.
Я думав у чомусь подібному:
$ mv IMG_9563.JPG `jhead IMG_9563.JPG | grep date`
але я не знаю, як це зробити для всіх файлів одночасно.
ls *.JPG | wc > rename
І тоді мені доведеться використовувати перейменування сценарію на XXX.JPG
wc
, я забув замовити по імені.