所以我有一个包含数千个图像文件的文件夹,所有这些文件都保存为.jpg
.
问题是其中一些文件实际上是 PNG 图像文件,因此它们无法在很多程序中打开,除非我手动将其扩展名更改为.png
。例如,Ubuntu 图像查看器会抛出此错误:
“解释 JPEG 图像文件时出错(不是 JPEG 文件:以 0x89 开头
0x50)"
我已经跑了hexdump其中一些文件来确认此错误并检查出来。
我正在寻找一种简单的方法来查找其他文件中扩展名错误的所有文件并更改其扩展名。例如,我如何使用 bash 脚本来做到这一点?到目前为止我还不知道。感谢所有帮助!
for f in *.jpg ; do
if [[ $(file -b --mime-type "$f") = image/png ]] ; then
mv "$f" "${f/%.jpg/.png}"
fi
done
这会得到一个列表.jpg
文件,然后对于每个调用file
用于获取 mime 类型的实用程序。如果那是image/png
,然后它使用重命名该文件字符串操作 http://tldp.org/LDP/abs/html/string-manipulation.html代换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)