Доступ к 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: Linux
Category:
Linux |
1 Comment »
29 July 2013 - 21:15
Спасибо. Быстро и удобно.