• shell 批量压缩指定文件夹及子文件夹内图片


    shell 批量压缩指定文件夹及子文件夹内图片


    用户上传的图片,一般都没有经过压缩,造成空间浪费。因此须要编写一个程序,查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理。


    代码例如以下:

    #!/bin/bash
    
    # 查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压缩处理
    
    # Config
    
    folderPath='/home/fdipzone/photo'   # 图片文件夹路径
    
    maxSize='1M'    # 图片尺寸同意值
    maxWidth=1280   # 图片最大宽度
    maxHeight=1280  # 图片最大高度
    quality=85      # 图片质量
    
    
    # 压缩处理
    # Param $folderPath 图片文件夹
    function compress(){
    
        folderPath=$1
    
        if [ -d "$folderPath" ]; then
    
            for file in $(find "$folderPath" ( -name "*.jpg" -or -name "*.gif" -or -name "*.png" ) -type f -size +"$maxSize" ); do
    
                echo $file
    
                # 调用imagemagick resize图片
                $(convert -resize "$maxWidth"x"$maxHeight" "$file" -quality "$quality" -colorspace sRGB "$file")
    
            done
    
        else
            echo "$folderPath not exists"
        fi
    }
    
    # 运行compress
    compress "$folderPath"
    
    exit 0


  • 相关阅读:
    关于typecho发布文章后的错位
    Python3 和 Python2的区别
    django apache error.log过大
    php 数组转json格式
    php get传递数据
    SVN中文件属性
    linux中django+apache配置
    php添加环境变量
    php和apache安装心得
    php 5.6.14手动安装 php -v 显示没有安装
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4353027.html
Copyright © 2020-2023  润新知