• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    

    以上这篇shell 批量压缩指定目录及子目录内图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 图片批量压缩大小脚本分享
    • linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法
    上一篇:完美解决mac环境使用sed修改文件出错的问题
    下一篇:linux 随机密码生成工具mkpasswd详解及实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    shell 批量压缩指定目录及子目录内图片的方法 shell,批量,压缩,指定,目录,