全球主机交流论坛
标题:
图像批量压缩SHELL脚本
[打印本页]
作者:
shy9000
时间:
2011-11-27 12:06
标题:
图像批量压缩SHELL脚本
一个朋友的站有很多图片,需要帮忙压缩,于是花了一个小时构思了这个SHELL,在此分享(IF那段我写的很烂,因为我不熟悉SHELL的IF的OR用法,只能分别拆开写了,换到PHP的话只用一个in_array就清爽多了,懂得兄弟希望能够帮忙指正)
Limit后面是限制的字节数,只有大于该字节才会进行处理
Quality是图像质量,取值0-100左开右闭区间,范围是正整数
DIR是要压缩的图片目录
使用该脚本之前请先安装ImageMagick,以便能够正常使用
yum -y install ImageMagickyum -y install ImageMagick
复制代码
使用方法,把下面的代码保存成xxxx.sh,然后执行sh xxxx.sh
#! /bin/Bash
let Limit=350*1024
Quality=70
DIR="/root"
cd $DIR
for i in `find $DIR -name "*.???"`
do
FSIZE=`wc -c $i|awk '{print $1}'`
EXT=${i##*.}
if [ $FSIZE -ge $Limit ] && [ "$EXT" == "jpg" ] || [ "$EXT" == "JPG" ] || [ "$EXT" == "png" ] || [ "$EXT" == "PNG" ] || [ "$EXT" == "bmp" ] || [ "$EXT" == "BMP" ]; then
convert -resize 800x600 -quality $Quality $i $i
echo $i is Okay.
fi
done
复制代码
里面的纵横的最大取值800*600,如果遇到超过的话,会自动按比例缩小到约束值
[
本帖最后由 shy9000 于 2011-11-27 13:03 编辑
]
作者:
0x59
时间:
2011-11-27 12:09
出售此楼层。。。
[
本帖最后由 0x59 于 2011-11-27 12:24 编辑
]
作者:
tobeychan
时间:
2011-11-27 12:10
这个命令 convert 是哪个程序的
[
本帖最后由 tobeychan 于 2011-11-27 12:39 编辑
]
作者:
490775
时间:
2011-11-27 12:15
提示:
作者被禁止或删除 内容自动屏蔽
作者:
mapleaf
时间:
2011-11-27 12:18
不错哦。
作者:
caboo
时间:
2011-11-27 13:00
提示:
作者被禁止或删除 内容自动屏蔽
作者:
UCVPS
时间:
2011-11-27 13:03
不错哦。
作者:
maksim
时间:
2011-11-27 13:05
跟cmd 不一样哦
作者:
Kokgog
时间:
2011-11-27 13:11
用find+exec,只需要一行.....
作者:
shy9000
时间:
2011-11-27 13:12
原帖由
Kokgog
于 2011-11-27 13:11 发表
用find+exec,只需要一行.....
知道,我对SHELL不是特别熟悉,So没办法,你看我那个啥的IF都写的那么烂就知道我对SHELL不了解了
作者:
madebi
时间:
2011-11-27 16:00
这类帖子要顶要顶
作者:
yu.gs尊
时间:
2011-11-27 16:20
吴哈哈
欢迎光临 全球主机交流论坛 (https://91ai.net/)
Powered by Discuz! X3.4