Доступ к EXIF из командной строки

Date July 21st, 2012 Author Vitaly Agapov


Столкнулся я в очередной раз с некоторым неудобством просмотра фотографий с одного события, но с разных камер. Хочется смотреть всё в хронологическом порядке, но все фотографии имеют разные названия и разные порядки нумерации. Даже даты модификации файлов давно неактуальны из-за копирований и редактирований. В этот раз, однако, с проблемой я не смирился, а решил найти ей решение. Первое, что пришло в голову, – это изменить названия файлов, вставив в их начале либо некоторый порядковый номер, либо вообще просто дату снимка. Задача проста и её решение видится в простом bash-однострочнике. Оставалось выяснить, как в командной строке выцепить из EXIF файлов дату снимка. И тут я наткнулся на прекрасную программу jhead (есть в репозиториях).

Практически не забегая вперёд, могу сказать, что неожиданная крутость программы меня даже немного расстроила, ибо безо всяких однострочников она может сделать всё, что я только могу придумать насчёт манипуляций с EXIF или названиями файлов. jhead умеет работать пакетно со множеством файлов, менять дату модификации файлов на дату съёмки из EXIF или наоборот, производить автоповорот изображений, где в EXIF указана вертикальная ориентация снимка, удалять или добавлять атрибуты, а также производить переименование файлов по шаблонам.

Не буду останавливаться на всех возможностях, так как это не статья, а краткая вечерняя заметка. К тому же исчерпывающая информация есть в man jhead. Покажу лишь как я решил свою задачу.

В директории с месивом из разных фотографий с разных камер я выполнил команду:

jhead -n%y%m%d-%H%M-%f *JPG

И, как по волшебству, все файлы выстроились в аккуратный хронологический ряд. Здесь в шаблоне %f замещается исходным именем файла, а все остальные части шаблона – это макросы strftime.

Tags:
Category: Linux | 1 Comment »

Comments

Один комментарий на “Доступ к EXIF из командной строки”

  1. Роман

    Спасибо. Быстро и удобно.

Leave a comment

 Comment Form