2 votos

Agregar exif momento de la creación correcta de zona horaria (TZD) de nombre de archivo

Hola tengo un problema el cambio de nombre de un montón de fotos y archivos de imágenes. Yo uso un shellscript en automator para cambiar el nombre de ellos por EXIF fecha y la hora. Pero el tiempo está dado por la UTC y estoy viviendo en europa con +0100 en invierno y +0200 en el verano.

Ejemplo: una imagen de 2020-06-30 tomada a las 22:22:30
se denomina "2020-06-30 20/22/30 IMG_0001.jpg"
en lugar de. "2020-06-30 22/22/30 IMG_0001.jpg"

estoy usando el script:

#/bin/zsh
for f in "$@"
do
    filedate=$(mdls $f | grep kMDItemContentCreationDate -m 1 | awk '{print $3, $4}');
    filename=$f:t
    filepath=$f:h
    mv $filepath/{"$filename","$filedate $filename"}
done

Puedo de alguna manera, sólo añadir +0200 o +0100 a la "filedate...$4" y ¿cómo?(y, a continuación, ordenar manualmente cuando el número de houser en el nombre de más de 24) o hay una manera más inteligente de anuncios designador de zona horaria(TZD) a la secuencia de comandos? No he utilizado el script antes asi que soy completamente nuevo en todo esto. Hopw alguien me puede ayudar.

1voto

Michael Zhou Puntos 167

Para cambiar la hora UTC para reflejar su zona horaria, ejecute la salida de mdls a través de la date comando. También puede dar formato a la salida del comando date.

utcfiledate=$( mdls -n kMDItemContentCreationDate -raw  FILE)

date -f '%F %T %z' -j "$utcfiledate" '+%F %T'

Para quitar los dos puntos de la salida

date -f '%F %T %z' -j "$utcfiledate" '+%F %H%M%S'

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X