代码如下 | 复制代码 |
sudo apt-get install imagemagick |
其它linux有对应的软件安装命令,以下有我写的两个脚本,分别对图片进行批量格式以及压缩操作:
图片格式转换,这里的示例是将[bB][mM][pP](所有BMP文件)格式的文件,转换为占空间小的jpg文件:
代码如下 | 复制代码 |
#!/bin/sh for img in `find ./ -name "*.[bB][mM][pP]"`; do #change upper filename to lower _imglower=`echo $img|tr "[:upper:]" "[:lower:]"`; #get file's basename _basename=`basename $_imglower .bmp`; #get file's dir _dirname=`dirname $img`; #get desc filename with path _basefullname=$_dirname"/"$_basename".jpg"; #do convert convert $img $_basefullname; #remove bmp file rm $img; echo "deal $_basefullname successfully"; done |
图片压缩脚本:
代码如下 | 复制代码 |
for img in `find ./ -name "*.[jJ][pP][gG]"`; do convert -resize 85%*85% $img $img-resized; rm $img; mv $img-resized $img echo $img done for img in `find ./ -name "*.[pP][nN][gG]"`; do convert -resize 85%*85% $img $img-resized; rm $img; mv $img-resized $img echo $img done for img in `find ./ -name "*.[gG][iI][fF]"`; do convert -resize 85%*85% $img $img-resized; rm $img; mv $img-resized $img echo $img done |
方法2 :
首先要安装一个imagemagick,执行
代码如下 | 复制代码 |
$sudo apt-get install imagemagick |
命令总体,其实就是查询目录下所有的文件,然后执行相关的命令,我之前有一个博文讲的是批量重命名文件的,命令格式差不多
可以参考一下:
方法一:
代码如下 | 复制代码 |
for file in *.JPG; do mv $file `echo $file | sed -e s/[.]JPG/.jpg/g`; done |
扩展名是.JPG的命名为小写的jpg扩展名
方法二:
代码如下 | 复制代码 |
for filename in *.JPG ; do mv $filename ${filename/JPG/jpg}; done |
这是另外一种替换
方法三:
代码如下 | 复制代码 |
for file in *; do mv $file `echo $file | awk -F . '{print $1"."tolower($2)}' `; done |
这种能够实现同时修改多种扩展名,不过只能支持 文件名包含多个(.)的情况
代码如下 | 复制代码 |
$for img in `find ./ -name "*.JPG"`; do convert -quality 70 $img ${img/JPG/jpg}; done |
一句话搞定,把图片的质量压缩到原来的70%的程度,画质在电脑上看基本不会有差异,用来批量压缩图片,上传图片到网上最方便了。
convert 是imagemagick软件包中的一部分,-quality表示压缩质量。
$img是原文件名,把原文件名的扩展名改为小写作为压缩后的文件名(${img/JPG/jpg})
时间: 2024-10-23 19:37:47