Напечатайте определенные значения данных изображения Exif с exiv2


8

Как напечатать изображение Exif date с помощью инструмента, подобного exiv2?

Моя цель - записать год и месяц изображения в отдельные переменные. Мне действительно нужно анализировать вывод с помощью регулярного выражения или есть альтернатива чему-то вроде этого:

exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date

Ответы:


7

Вы можете использовать -gфлаг, чтобы вывести только интересующее вас свойство, и -Pvнапечатать значение без какого-либо окружающего пуха. Результат легко разобрать.

IFS=': '
set $(exiv2 -g Exif.Image.DateTime -Pv DSC_01234.NEF)
unset IFS
year=$1 month=$2 day=$3 hour=$4 minute=$5 second=$6

Он также может быть полезно , чтобы изменить дату файла , чтобы соответствовать дате: exiv2 -T DSC_01234.NEF.


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

0
OIFS=$IFS; IFS=': '
set -- $(exiv2 -g Exif.Image.DateTime -Pv DSC_01234.NEF)
IFS=$OIFS;
year=$1; month=$2; day=$3; hour=$4; minute=$5; second=$6;
echo "$year:$month:$day $hour:$minute:$second"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.