Para cambiar la fecha del archivo de varias fotos se puede utilizar el comando touch
. Por ejemplo, la siguiente orden cambia la fecha de archivo de varias fotos a 7 horas más con respecto a la suya [1]:
for f in *.jpg; do touch -d "$(date -r $f "+%Y-%m-%d %H:%M:%S %z") +7 hours" $f; done
Por otro lado, también es posible modificar la fecha almacenada en la información EXIF de la fotografía. Para ello se puede utilizar el comando exiftool
. Por ejemplo, la siguiente orden añade 7 horas a la información de tiempo almacenada en el formato EXIF de las fotos indicadas [2,3]:
exiftool -preserve -AllDates+=7:00 *.jpg
A partir del script mostrado en [4], se puede utilizar el siguiente código para modificar la marca de tiempo de varios ficheros en función de su marca de tiempo:
LANG="C"; for f in *.jpg; do x=$(exiftool -d '%c' -DateTimeOriginal "${f}" | sed -e 's|Date/Time Original[^:]*: ||g'); touch -d "$x" "${f}"; done