Как переименовать фотографии в соответствии с их названиями?

Недавно я дал ~ 200 фотографиям числовые заголовки в Shotwell, которые описывают их последовательности - 001, 002 и т. Д. Но я бы хотел, чтобы эта последовательность была такой же в именах файлов, чтобы при открытии папки в Наутилусе фотографии перечислены в порядке. Я думаю, что Shotwell где-то сохранил заголовок в данных exif. На самом деле, я наконец-то нашел его, используя программу просмотра изображений Gnome, под XMP Other и photoshop: Headline. То, что я хотел бы, это способ прочитать эти названия Shotwell и использовать их в качестве имен файлов. Я мог бы сделать это с помощью Python, если бы знал, как получить доступ к этим метаданным.

3
задан 4 December 2011 в 00:26

2 ответа

Я сделал 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

0
ответ дан 4 December 2011 в 00:26

Поскольку нет другого ответа, показывающего , как фактически переименовывать фотографии с заголовками, добавленными в 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

Примечания:

Для получения более общей информации см. man exiftool или онлайн-руководства по Ubuntu .

0
ответ дан 4 December 2011 в 00:26

Другие вопросы по тегам:

Похожие вопросы: