
同様のツールを使用して画像Exif日付を印刷するにはexiv2
?
私の目標は、画像の年と月を別々の変数に書き込むことです。実際に正規表現を使用して出力を解析する必要がありますか?それとも他のオプションはありますか?
exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date
答え1
この-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
。
答え2
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"