我在解码 jpg 文件时遇到了问题,无法通过 ssh 从 Linux 终端找到它的序列号。我的文件和我执行的命令的详细信息
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 数据中都有“序列号”。
大多数较新的 DSLR 相机都会将相机的序列号写入 EXIF 数据中