Взгляните на ExifTool . Это швейцарский армейский нож для манипуляции информацией Exif, он может делать то, что вам нужно, помимо всего прочего. Это Windows / Linux / Mac-совместимый инструмент командной строки, а также модуль Perl. Бесплатный и открытый исходный код:
Опция "-tagsFromFile"
Специальная опция ExifTool позволяет копировать теги из одного файла в другой. Синтаксис командной строки для этого - «-tagsFromFile SRCFILE». Любые теги, указанные после этой опции в командной строке, извлекаются из исходного файла и записываются в целевой файл. Если теги не указаны, копируются все доступные для записи теги. Этот вариант очень простой, но очень мощный. В зависимости от форматов исходного и конечного файлов, некоторые из прочитанных тегов могут быть недопустимыми в конечном файле, и в этом случае они не записываются.
Следующая команда изменит все файлы в текущем каталоге и его дочерних элементах (рекурсивно), скопировав все связанные с GPS теги из файла SOURCE.JPG
:
exiftool -overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps: все.
Другой способ сделать это - поместить в скрипт следующее. Первый передаваемый параметр должен быть файлом, из которого копируются координаты GPS, а все остальные параметры являются целевыми файлами, которые необходимо обновить:
#!/usr/bin/env bash
lon=$(exiftool -s3 -GPSLongitude "$1")
lat=$(exiftool -s3 -GPSLatitude "$1")
exiftool -GPSLongitude="$lon" -GPSLatitude="$lat" "${@:2}"