Найти серийный номер файла 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.