Como extrair a data de criação do EXIF e definir a data de criação do arquivo

0

A transferência de imagens do IPhone de alguma forma estragou as datas do arquivo. Eu quero configurá-los a partir de dados EXIF.

Já encontrei uma solução, mas não consegui converter isso em um trabalho em lote. Sinta-se à vontade para ajudar, talvez outros usuários achem útil.

    
por JPT 29.10.2017 / 15:13

2 respostas

0
find . -type f -iname "*.jpg" -print0 | xargs -0 -n1 -I % sh -c 'touch % -d "$(file %|grep -oP "datetime=\K[^,]*"|sed -e "s/:/-/"|sed -e "s/:/-/")"'
    
por 29.10.2017 / 15:37
0

Eu resolvi com este comando.

identify -verbose <file> |egrep "Image:|exif:DateTimeDigitized:" |sed '{N;s,Image: \(.*\)\n.*exif:DateTimeDigitized: \(.*\),touch -d "" ,}'|sed 's,2017:10:,2017-10-,'

Eu não consegui converter isso em um trabalho em lote porque sed é necessário para trabalhar em várias linhas que colidem de alguma forma com abordagens diferentes trabalhando em uma lista (xargs, uma lista simples ...)

Basta enviar para bash para executar ou copiar & colar.

    
por 29.10.2017 / 15:13