Hãy xem ExifTool . Nó là một con dao quân đội Thụy Sĩ của thao túng thông tin Exif, có thể làm những gì bạn cần, trong số nhiều thứ khác. Nó là công cụ dòng lệnh tương thích Windows / Linux / Mac và mô-đun Perl. Nguồn mở và miễn phí:
Tùy chọn "-tagsFromFile"
Tùy chọn ExifTool đặc biệt cho phép sao chép thẻ từ tệp này sang tệp khác. Cú pháp dòng lệnh để thực hiện việc này là "-tagsFromFile SRCFILE". Bất kỳ thẻ nào được chỉ định sau tùy chọn này trên dòng lệnh được trích xuất từ tệp nguồn và được ghi vào tệp đích. Nếu không có thẻ nào được chỉ định, thì tất cả các thẻ có thể ghi được sao chép. Tùy chọn này rất đơn giản, nhưng rất mạnh mẽ. Tùy thuộc vào định dạng của tệp nguồn và tệp đích, một số thẻ được đọc có thể không hợp lệ trong tệp đích, trong trường hợp chúng không được ghi.
Lệnh sau sẽ thay đổi tất cả các tệp trong thư mục hiện tại và các tệp con của nó (đệ quy), sao chép tất cả các thẻ liên quan đến GPS từ tệp SOURCE.JPG
:
exiftool overwrite_origen_in_place -r -tagsFromFile SOURCE.JPG -gps: all.
Một cách khác để làm điều này là đưa những điều sau vào một kịch bản. Tham số đầu tiên được truyền phải là tệp để sao chép tọa độ GPS từ đó và tất cả các tham số khác là các tệp mục tiêu sẽ được cập nhật:
#!/usr/bin/env bash
lon=$(exiftool -s3 -GPSLongitude "$1")
lat=$(exiftool -s3 -GPSLatitude "$1")
exiftool -GPSLongitude="$lon" -GPSLatitude="$lat" "${@:2}"