Передача изображений с айфона как-то облажалась с датами файла. Я хочу установить их из данных EXIF.

Я уже нашел решение, но не смог преобразовать его в пакетное задание. Не стесняйтесь помочь, может быть, другие пользователи найдут это полезным.

2 ответа2

0

Я решил это с помощью этой команды.

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, чтобы выполнить или скопировать и вставить.

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/:/-/")"'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .