Недавно я дал ~ 200 фотографиям числовые заголовки в Shotwell, которые описывают их последовательности - 001, 002 и т. Д. Но я бы хотел, чтобы эта последовательность была такой же в именах файлов, чтобы при открытии папки в Наутилусе фотографии перечислены в порядке. Я думаю, что Shotwell где-то сохранил заголовок в данных exif. На самом деле, я наконец-то нашел его, используя программу просмотра изображений Gnome, под XMP Other и photoshop: Headline. То, что я хотел бы, это способ прочитать эти названия Shotwell и использовать их в качестве имен файлов. Я мог бы сделать это с помощью Python, если бы знал, как получить доступ к этим метаданным.
Я сделал apt-cache search exif
и нашел (среди других пакетов):
exiv2 - EXIF/IPTC metadata manipulation tool
bins - Generate static HTML photo albums using XML and EXIF tags
exif - command-line utility to show EXIF information in JPEG files
exifprobe - Read metadata from digital pictures
exiftags - utility to read Exif tags from a digital camera JPEG file
jigl - Generates a static html photo gallery from one or more directories of images
libexif-ruby1.9.1 - EXIF tag parsing Library for ruby1.9.1
libimage-exif-perl - Perl module to extract EXIF information from image files
libimage-exiftool-perl - Library and program to read and write meta information in multimedia files
libimage-info-perl - allows extraction of meta information from image files
metacam - extract EXIF information from digital camera files
pyrenamer - mass file renamer written in PyGTK
python-exif - Python library to extract EXIF data from tiff and jpeg files
renrot - Rename and rotate files according to EXIF tags
Так что попробуйте пиренамер . Если вы не можете заставить его делать то, что вам нравится, вы можете создать свой собственный инструмент с python-exif
Поскольку нет другого ответа, показывающего , как фактически переименовывать фотографии с заголовками, добавленными в Shotwell
, здесь есть быстрый способ написать сценарий с помощью bash, как вы сказали в комментариях, что вы уже есть альтернатива Python. Вполне могут быть и другие способы сделать это, но этот может быть полезен для кого-то.
Поскольку вы уже дали своим изображениям заголовок в Shotwell
и экспортировали их, а также выяснили, где хранятся метаданные, которые добавляет Shotwell
, составить сценарий относительно просто.
Пожалуйста, установите libimage-exiftool-perl
, так как это будет необходимо для скрипта.
1) Если вы используете exiftool -a G1 -s pic.jpg
, вы можете увидеть все типы метаданных и теги, встроенные в изображение, а также место, где Shotwell
размещает метаданные:
[XMP-photoshop] Headline : 002
[XMP-dc] Title : 002
[IPTC] Caption-Abstract : 002
[IPTC] Headline : 002
[IPTC] OriginatingProgram : Shotwell
[IPTC] ProgramVersion : 0.13.1+trunk
2) Теперь либо XMP-photoshop
или теги IPTC можно использовать с exiftool
в нашем скрипте для отображения метаданных (а затем использовать это результирующее значение для переименования файла).
Ввод exiftool -IPTC:headline pic.jpg
приводит к
Headline : 002
, и его можно проанализировать с помощью awk
и передать обратно в качестве переменной для переименования файла:
mv -i "$i" "$(exiftool -IPTC:headline "$i" | awk -F ': ' '{print $2}').jpg"
3) окончательный сценарий будет выглядеть следующим образом:
#!/bin/bash
for i in *.jpg
do
mv -i "$i" "$(exiftool -IPTC:headline "$i" | awk -F ': ' '{print $2}').jpg"
done
Итак, теперь все ваши файлы были переименованы с их Shotwell
заголовками, как мы видим, когда мы рассматриваем один с exiftool -a -G1 -s pic.jpg
:
ExifTool Version Number : 9.12
File Name : 002.jpg
Примечания:
Версия exiftool для репозитория хороша, но довольно старая, поэтому, если вам нужна поддержка различных новых функций и исправлений, см. [ 1120] официальный сайт о том, как собрать и установить более свежую версию.
Все метаданные сохраняются сценарием без изменений, поскольку только сам фактический файл переименовывается.
Сценарий, очевидно, будет работать только в том случае, если в ваших изображениях есть заголовки, созданные с помощью Shotwell, но он может быть адаптирован для других целей.
Может также быть альтернативный способ сделать это с exiftool
, без вызова awk
, поэтому я буду исследовать дальше.
Для получения более общей информации см. man exiftool
или онлайн-руководства по Ubuntu .