最近、Shotwellで〜200、002などのシーケンスを説明する数200枚の写真のタイトルを付けました。写真は順番にリストされています。 Shotwellはexifデータのどこかにタイトルを保存したと思います。実際、XMP Otherおよびphotoshop:Headlineの下のGnome画像ビューアーを使用して最終的に見つけました。私が欲しいのは、これらの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
pyrenamer を試してください。好きなように実行できない場合は、 python-exif を使用して独自のツールを構築できます。
Shotwell
に追加されたタイトルで実際に写真の名前を変更するhowを示す他の回答はないので、あなたが言うように、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
そのため、exiftool -a -G1 -s pic.jpg
でファイルを調べるとわかるように、すべてのファイルの名前がShotwell
タイトルで変更されました。
ExifTool Version Number : 9.12
File Name : 002.jpg
注:
Exiftoolのリポジトリバージョンは問題ありませんが、かなり古いため、さまざまな新機能とバグ修正のサポートが必要な場合は、 公式サイト を参照して、より新しいバージョンをビルドおよびインストールしてください。
実際のファイル自体の名前のみが変更されるため、すべてのメタデータはスクリプトによって変更されずに保持されます。
このスクリプトは明らかに、写真にShotwellが埋め込まれたタイトルが埋め込まれている場合にのみ機能しますが、他の目的に適合させることもできます。
exiftool
を呼び出さずにawk
でこれを行う別の方法もあるかもしれないので、さらに調査します。
より一般的な情報については、man exiftool
または オンラインのUbuntuマンページ を参照してください。