Я просто возвратился из прохождения и попытки организовать минимальные фотографии, сделанные моей женой и мной с 4 устройствами: наши 2 смартфона и 2 камеры.
Я принимаю решение переименовать все файлы с PyRenamer (EXIF) как это: YYYYMMDD_HHMMSS.jpg
Оба смартфона и одна камера были в местное время, без проблем. Но камера моей жены имела временной сдвиг 5:46.
Мой вопрос прост: как я мог добавить 5:46 к каждому файлу?
Большое спасибо заранее.
Примечание: следующее не изменяет или данные EXIF или фактическую метку времени файлов - просто их имена. Может быть предпочтительно изменить все три последовательно (возможно, возможное использование exiftool
?)
Это, кажется, возможное использование базирующегося жемчуга prename
/ rename
команда, с помощью strptime
читать в отформатированной строке времени, затем strftime
записывать его обратно после добавления смещения - в секундах (неявно преобразованный во Время:: объект Части).
На основе комментариев, камерой "моей жены имел временной сдвиг 5:46", Вы, кажется, имеете в виду 5 часов 46 минут (а не, скажем, 5 минут 46 секунд), и Вы требуете сдвига (вперед) 5 x 3600 + 46 x 60 = 20 760 секунд. Таким образом, Вы могли сделать:
prename -vn -- '
BEGIN{use Time::Piece};
s/\d+_\d+/(20760+Time::Piece->strptime($&, "%Y%m%d_%H%M%S"))->strftime("%Y%m%d_%H%M%S")/e
' *.jpg
20161019_112301.jpg renamed as 20161019_170901.jpg
-n
флаг для тестирования - удаляют его, когда Вы уверены, что команда выполняет правильное преобразование.
Посмотрите этот связанный вопрос, Как может я пакетные имена папок преобразования от одного формата даты до другого