Imprime valores de dados de imagem Exif específicos com exiv2

8

Como faço para imprimir a imagem Exif date com uma ferramenta como exiv2?

Meu objetivo é escrever o ano e o mês da imagem em variáveis separadas. Eu realmente tenho que analisar a saída com regex ou existe uma alternativa para algo como isto:

exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date
    
por apparat 14.03.2011 / 21:46

2 respostas

7

Você pode usar o sinalizador -g para exibir apenas a propriedade de seu interesse e -Pv para imprimir o valor sem nenhum fluff circundante. O resultado é fácil de analisar.

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

Também pode ser útil alterar a data do arquivo para corresponder à data da imagem: exiv2 -T DSC_01234.NEF .

    
por 14.03.2011 / 22:44
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"
    
por 13.11.2013 / 21:49