Найти серийный номер файла jpg в терминале linux

У меня проблемы с декодированием моего jpg-файла, чтобы найти его серийный номер на моем терминале linux, подумал ssh . мой файл и детали команды я сделалM5KDAN44

grep "serial number" M5KDAN44

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

1 ответ

Изменить каталог на целевой каталог

cd /path/to/dir/with/files

Найти jpg (JPEG) файлы, если расширение удалено.

OIFS="$IFS";IFS=$'\n';for f in `find ./ -type f -exec file --mime-type {} \;|grep image/jpeg|cut -d ":" -f 1`;do echo "$f";done;IFS="$OIFS"

Для серийного номера камеры в данных EXIF.
Команда:

exiftool <file-name> | grep '^Serial Number'  

пример

exiftool IMG_0277 | grep '^Serial Number'
Serial Number                   : 078073094979

Обе команды объединяются для поиска файлов jpg (JPEG) и получения серийного номера.

OIFS="$IFS";IFS=$'\n';for f in `find ./ -type f -exec file --mime-type {} \;|grep image/jpeg | cut -d ":" -f 1`;do echo "$f" `file --mime-type "$f"|cut -d ":" -f 2` `exiftool "$f"|grep '^Serial'`;done;IFS="$OIFS"

Пример:

OIFS="$IFS";IFS=$'\n';for f in `find ./ -type f -exec file --mime-type {} \;|grep image/jpeg | cut -d ":" -f 1`;do echo "$f" `file --mime-type "$f"|cut -d ":" -f 2` `exiftool "$f"|grep '^Serial'`;done;IFS="$OIFS"
./IMG_9862 07.JPG  image/jpeg Serial Number                   : 078073094979
./008  image/jpeg
./IMG_0277 06  image/jpeg Serial Number                   : 078073094979
./new folder/IMG_0277 06  image/jpeg Serial Number                   : 078073094979
./new folder/008 03  image/jpeg
./DSC04592 05  image/jpeg
./008 03  image/jpeg

Примечание: не все файлы jpg имеют "серийный номер" в данных EXIF.
Серийный номер камеры записывается большинством новых зеркальных камер в данных EXIF.

Другие вопросы по тегам