Передача изображений с айфона как-то облажалась с датами файла. Я хочу установить их из данных EXIF.
Я уже нашел решение, но не смог преобразовать его в пакетное задание. Не стесняйтесь помочь, может быть, другие пользователи найдут это полезным.
Я решил это с помощью этой команды.
identify -verbose <file> |egrep "Image:|exif:DateTimeDigitized:" |sed '{N;s,Image: \(.*\)\n.*exif:DateTimeDigitized: \(.*\),touch -d "\2" \1,}'|sed 's,2017:10:,2017-10-,'
Я не смог преобразовать это в пакетное задание, потому что sed
требуется для работы с несколькими строками, что как-то противоречит различным подходам, работающим со списком (xargs, простой список ...)
Просто передайте его в bash, чтобы выполнить или скопировать и вставить.
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/:/-/")"'