Linux命令行下使用ImageMagick的convert工具批量转换图片格式
举例:将menu目录下的所有png文件变更为jpg文件。
安装
使用yum即可安装。
yum install ImageMagick
变更前
[root@web menu]# tree . ├── sm1b561jbbgh.png ├── sm1p4x55am8x.png ├── sm1txq3jzqpd.png ├── sm1xov7dy5ou.png ├── sm1y6af5i685.png ├── smfo7aqhsk3t.png ├── smt9oezo59m2.png └── smvymyr3wnlj.png
0 directories, 8 files
转换格式
for file in *.png do convert $file ${file%%.*}.jpg done
也可以直接写到一行
for file in *.png; do convert $file ${file%%.*}.jpg; done
转换完成
[root@web menu]# tree . ├── sm1b561jbbgh.jpg ├── sm1b561jbbgh.png ├── sm1p4x55am8x.jpg ├── sm1p4x55am8x.png ├── sm1txq3jzqpd.jpg ├── sm1txq3jzqpd.png ├── sm1xov7dy5ou.jpg ├── sm1xov7dy5ou.png ├── sm1y6af5i685.jpg ├── sm1y6af5i685.png ├── smfo7aqhsk3t.jpg ├── smfo7aqhsk3t.png ├── smt9oezo59m2.jpg ├── smt9oezo59m2.png ├── smvymyr3wnlj.jpg └── smvymyr3wnlj.png
0 directories, 16 files
验证文件格式
[root@web menu]# file sm1b561jbbgh.* sm1b561jbbgh.jpg: JPEG image data, JFIF standard 1.01 sm1b561jbbgh.png: PNG image data, 67 x 57, 8-bit/color RGB, non-interlaced
这个命令也行:
它是转换大小
for file in *.jpg;do convert $file -resize 1920×1080 $file; done
for file in $(find . -name "*.JPG");do sudo convert $file -resize 200×80! $file; done