exiv2で特定のExif画像データ値を印刷する


8

exiv2などのツールを使用して画像Exif日付を印刷するにはどうすればよいですか?

私の目標は、画像の年と月を別々の変数に書き込むことです。私は本当に正規表現で出力を解析する必要がありますか、またはこのようなものの代替手段がありますか?

exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date

回答:


7

-gフラグを使用して、必要なプロパティのみを出力し、-Pv周囲の綿毛なしで値を出力できます。結果は簡単に解析できます。

IFS=': '
set $(exiv2 -g Exif.Image.DateTime -Pv DSC_01234.NEF)
unset IFS
year=$1 month=$2 day=$3 hour=$4 minute=$5 second=$6

画像の日付と一致するようにファイルの日付を変更すると役立つ場合もありますexiv2 -T DSC_01234.NEF


それは最高です。画像の日付ベースのフォルダを作成し、ファイルの名前を適切に変更するスクリプトを書いている間、私のbashの知識を向上させようとしています。
装置

0
OIFS=$IFS; IFS=': '
set -- $(exiv2 -g Exif.Image.DateTime -Pv DSC_01234.NEF)
IFS=$OIFS;
year=$1; month=$2; day=$3; hour=$4; minute=$5; second=$6;
echo "$year:$month:$day $hour:$minute:$second"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.