Посмотрите на 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}"