Установите пакет Perl Image :: ExifTool
. Он включает программу командной строки под названием exiftool
, которая может изменять EXIF, IPTC, XMP и многие другие формы метаданных изображения :
$ exiftool -IPTC:caption="This is a great image" image.jpg
ExifTool понимает множество других теги .
Есть большая вероятность, что в вашей ОС уже есть пакет ExifTool. Он находится в репозитории пакетов Ubuntu как libimage-exiftool-perl
, в портах FreeBSD как graphics / p5-Image-ExifTool
, а в OS X Homebrew как exiftool
, Например. Официальный сайт распространяет автономные версии Mac OS X и Windows.
Если в вашей системе есть cpanm
, второй самый простой способ установить exiftool
:
$ sudo cpanm Image::ExifTool
Вы также можете установить через cpan
, что является лишь немного сложнее, если вы ответите на все вопросы, которые он задает при первом запуске:
# cpan
cpan> install Image::ExifTool
cpan> exit
Если у вас не установлено ни cpanm
, ни cpan
, даже установка из исходных текстов не сложно:
# cd /tmp
# wget http://search.cpan.org/CPAN/authors/id/E/EX/EXIFTOOL/Image-ExifTool-9.53.tar.gz
# tar xvf Image-ExifTool-9.53.tar.gz
# cd Image-ExifTool-9.53
# perl Makefile.PL
# make install
Запустите программу без аргументов, чтобы получить подробную страницу руководства.
С помощью GNU tar
вы можете извлечь содержимое архива и установить время модификации на текущую дату/время .
tar --touch -xvf source.tar.gz
Это должно позволить вам достичь того, что вы ищете.
Поведение по умолчанию — это поведение по умолчанию. Я всегда хотел бы, чтобы mtime
файла был установлен на экземпляр его последнего обновления, независимо от того, с какого сервера он был получен и независимо от того, где была создана содержащая файловая система. Такие утилиты, как rsync
, полагаются (частично )на способность сравнивать метки времени между серверами и файловыми системами.