Linux 下通过命令生成缩略图并按规则重命名

Linux 下可以通过命令方式很方便的批量生成图片缩略图,这里需要用到的一个工具是ImageMagick。

ImageMagick是一个功能强大的图像工具,大多数linux发行版都会默认安装。(手动安装自行google)

缩略图转换命令如下:

convert head.jpg -sample 100x100 "head_100x100.jpg"

这是单个转换,将head.jpg 转换为长宽100×100大小的图片,并且重命名,将尺寸加到文件名中。

注意这里100×100是加在文件名中间位置。

通常的批量转换方式:

for img in `find ./ -name "*.jpg"`
do
convert $img -sample 200x150  "100x100_"$img
done

find ./ -name “*.jpg”  是获得当前目录及子目录下得所有jpg图片信息

如果只是当前目录不含子目录可以用 ls *.jpg

上面这段脚本转换后的文件名是   100x100_文件名.jpg  不怎么符合使用需求,通常需要的是:文件名_100x100.jpg

脚本做如下修改

for img in `find ./ -name "*.jpg"`
do
newimg=$(echo $img | cut -d. -f2);
convert $img -sample 100x100 "."$newimg"_100x100.jpg"
done

newimg=$(echo $img | cut -d. -f2);  这个是截取文件名和路径部分,也可以说是用来去掉扩展名.jpg

这两批量生成的文件名就符合需求了

不过前提是路径和文件名部分不能包含”.”  如果有需要再处理

发表评论

电子邮件地址不会被公开。 必填项已用*标注