说明

本脚本用于将文件夹及子文件夹下的图片尺寸改小。默认设置为宽高小于1920,保持默认尺寸。

支持jpg、png格式。

脚本需要ImageMagick工具。

使用时将脚本拷贝到需要调整的图片目录下,执行即可。

安装ImageMagick

centos

sudo yum install ImageMagick

ubuntu

sudo apt-get update
sudo apt-get install imagemagick

脚本

#! /bin/bash

# 在需要转换图片的目录下运行此脚本

# convert命令是ImageMagick这个图片处理软件包中的一个命令
# 安装ImageMagick之后,才能使用convert命令
# man convert可以查看命令用法帮助文档

maxsize=$((1024*1024))
function read_dir() {
    for file in $( #注意此处这是两个反引号,表示运行系统命令
        ls $1
    ); do
        if [ -d $1"/"$file ]; then #注意此处之间一定要加上空格,否则会报错
            read_dir $1"/"$file
        else
            if [[ $(file -b $1"/"$file) =~ JPEG ]] || [[ $(file -b $1"/"$file) =~ PNG ]]; then
                filesize=`ls -l $1"/"$file | awk '{ print $5 }'`
                if [ $filesize -gt $maxsize ]; then
                    echo $1"/"$file #在此处处理文件即可
                    convert -resize 1920x1920 $1"/"$file $1"/"$file
                fi

            fi
        fi
    done
}
# 读取当前目录
read_dir `pwd`