我试图找出文件是否是图像,然后根据结果做一些事情。这适用于当前工作目录和其他目录中的文件:
file -ib "$i" | grep "image/"
但这仅适用于当前目录中的文件(调用脚本的地方)
TEST=$(file -ib "$i" | grep "image/")
if [ "$TEST" == "" ]
then
echo "Image"
else
echo "Not an image"
fi
所以像../../my.jpg这样的东西在第一种情况下起作用,但总是给出"不是图像"在第二种情况下。我想在系统的任何地方使用我的脚本文件。
感谢您的帮助。
答案 0 :(得分:1)
请尝试:
path="path/to/images/folder"
for i in $(find $path -type f); do
file -ib "$i" | grep -q "image/" && echo "$i: Image" || echo "$i: Not an image";
done
答案 1 :(得分:0)
尝试:
TEST=$(file -i "$i" | grep ': *image/')
if [ "$TEST" = "" ];then
echo "not an image"
else
echo "it is an image"
fi