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

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

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

5 ответов

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

Так что попробуйте pyrenamer. Если вы не можете заставить его делать то, что вам нравится, вы можете создать свой собственный инструмент с помощью python-exif

2
ответ дан 25 May 2018 в 16:16
  • 1
    Большое спасибо. Я полностью не знал о поиске apt-cache. Я закончил писать что-то с python-exiv2, и он работает! – Jon 4 December 2011 в 05:15

Поскольку нет другого ответа, показывающего, как фактически переименовать фотографии с заголовками, добавленными в Shotwell, вот быстрый способ сценария его использования bash, как вы говорите в комментариях, что у вас уже есть альтернатива python. Там могут быть другие способы сделать это, но этот может быть полезен для кого-то.

Поскольку вы уже дали своим фотографиям заголовок в Shotwell и экспортировали их, и выяснили, где находятся метаданные

Пожалуйста, установите libimage-exiftool-perl, так как это будет необходимо для скрипта.

1) Если вы используете Shotwell, добавьте его. используйте 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
[d7 ], и это можно проанализировать с помощью 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
[d9 ] Итак, теперь все ваши файлы были переименованы в заголовки Shotwell, как мы видим, когда мы исследуем один с exiftool -a -G1 -s pic.jpg:

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

Примечания:

Версия exiftool в репозитории прекрасна, но довольно старая, поэтому, если вам нужна поддержка различных новых функций и исправлений, см. официальный сайт о том, как создавать и устанавливать более новую версию. Все метаданные сохраняются неизменными скриптом, так как переименовывается только сам фактический файл. Скрипт, очевидно, будет работать только в том случае, если ваши фотографии имеют названия, созданные с помощью Shotwell, встроенные в них, но могут быть адаптированы для других целей. Также может быть альтернативный способ сделать это с помощью exiftool, не вызывая awk, поэтому я буду исследовать дальше.

Более подробную информацию см. в man exiftool или в файлах Ubuntu онлайн.

4
ответ дан 25 May 2018 в 16:16

Поскольку нет другого ответа, показывающего, как фактически переименовать фотографии с заголовками, добавленными в Shotwell, вот быстрый способ сценария его использования bash, как вы говорите в комментариях, что у вас уже есть альтернатива python. Там могут быть другие способы сделать это, но этот может быть полезен для кого-то.

Поскольку вы уже дали своим фотографиям заголовок в Shotwell и экспортировали их, и выяснили, где находятся метаданные

Пожалуйста, установите libimage-exiftool-perl, так как это будет необходимо для скрипта.

1) Если вы используете Shotwell, добавьте его. используйте 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
[d7 ], и это можно проанализировать с помощью 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
[d9 ] Итак, теперь все ваши файлы были переименованы в заголовки Shotwell, как мы видим, когда мы исследуем один с exiftool -a -G1 -s pic.jpg:

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

Примечания:

Версия exiftool в репозитории прекрасна, но довольно старая, поэтому, если вам нужна поддержка различных новых функций и исправлений, см. официальный сайт о том, как создавать и устанавливать более новую версию. Все метаданные сохраняются неизменными скриптом, так как переименовывается только сам фактический файл. Скрипт, очевидно, будет работать только в том случае, если ваши фотографии имеют названия, созданные с помощью Shotwell, встроенные в них, но могут быть адаптированы для других целей. Также может быть альтернативный способ сделать это с помощью exiftool, не вызывая awk, поэтому я буду исследовать дальше.

Более подробную информацию см. в man exiftool или в файлах Ubuntu онлайн.

4
ответ дан 25 May 2018 в 16:16

Поскольку нет другого ответа, показывающего, как фактически переименовать фотографии с заголовками, добавленными в Shotwell, вот быстрый способ сценария его использования bash, как вы говорите в комментариях, что у вас уже есть альтернатива python. Там могут быть другие способы сделать это, но этот может быть полезен для кого-то.

Поскольку вы уже дали своим фотографиям заголовок в Shotwell и экспортировали их, и выяснили, где находятся метаданные

Пожалуйста, установите libimage-exiftool-perl, так как это будет необходимо для скрипта.

1) Если вы используете Shotwell, добавьте его. используйте 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
[d7 ], и это можно проанализировать с помощью 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
[d9 ] Итак, теперь все ваши файлы были переименованы в заголовки Shotwell, как мы видим, когда мы исследуем один с exiftool -a -G1 -s pic.jpg:

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

Примечания:

Версия exiftool в репозитории прекрасна, но довольно старая, поэтому, если вам нужна поддержка различных новых функций и исправлений, см. официальный сайт о том, как создавать и устанавливать более новую версию. Все метаданные сохраняются неизменными скриптом, так как переименовывается только сам фактический файл. Скрипт, очевидно, будет работать только в том случае, если ваши фотографии имеют названия, созданные с помощью Shotwell, встроенные в них, но могут быть адаптированы для других целей. Также может быть альтернативный способ сделать это с помощью exiftool, не вызывая awk, поэтому я буду исследовать дальше.

Более подробную информацию см. в man exiftool или в файлах Ubuntu онлайн.

4
ответ дан 25 May 2018 в 16:16

Поскольку нет другого ответа, показывающего, как фактически переименовать фотографии с заголовками, добавленными в Shotwell, вот быстрый способ сценария его использования bash, как вы говорите в комментариях, что у вас уже есть альтернатива python. Там могут быть другие способы сделать это, но этот может быть полезен для кого-то.

Поскольку вы уже дали своим фотографиям заголовок в Shotwell и экспортировали их, и выяснили, где находятся метаданные

Пожалуйста, установите libimage-exiftool-perl, так как это будет необходимо для скрипта.

1) Если вы используете Shotwell, добавьте его. используйте 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
[d7 ], и это можно проанализировать с помощью 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
[d9 ] Итак, теперь все ваши файлы были переименованы в заголовки Shotwell, как мы видим, когда мы исследуем один с exiftool -a -G1 -s pic.jpg:

ExifTool Version Number         : 9.12
File Name                       : 002.jpg

Примечания:

Версия exiftool в репозитории прекрасна, но довольно старая, поэтому, если вам нужна поддержка различных новых функций и исправлений, см. официальный сайт о том, как создавать и устанавливать более новую версию. Все метаданные сохраняются неизменными скриптом, так как переименовывается только сам фактический файл. Скрипт, очевидно, будет работать только в том случае, если ваши фотографии имеют названия, созданные с помощью Shotwell, встроенные в них, но могут быть адаптированы для других целей. Также может быть альтернативный способ сделать это с помощью exiftool, не вызывая awk, поэтому я буду исследовать дальше.

Более подробную информацию см. в man exiftool или в файлах Ubuntu онлайн.

4
ответ дан 25 May 2018 в 16:16

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

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