当前位置: 首页 > 编程笔记 >

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

南宫喜
2023-03-14
本文向大家介绍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

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

 类似资料:
  • 问题内容: 我正在编写一个PHP脚本,该脚本将一系列生成的文件(使用)下载到一个目录中,然后使用该命令将其压缩。 下载可以完美运行,并且大多数情况下都可以压缩。我运行命令: 它会生成一个包含所有下载文件的zip文件,但是在到达目录之前它包含完整目录。 我可能只是从zip命令中丢失了一个标志或一些小标志,但是如何将其用作根目录? 问题答案: 我不认为zip可以这样做。我认为唯一的方法是: (反斜杠只

  • 本文向大家介绍Python实现扫描指定目录下的子目录及文件的方法,包括了Python实现扫描指定目录下的子目录及文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍了使用Python来扫描指定目录下的文件,或者匹配指定后缀和前缀的函数。步骤如下: 如果要扫描指定目录下的文件,包括子目录,需要调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀

  • 我从特定目录下的Stackoverflow使用通配符子域获取源代码 原始代码: 它可以正常工作,但上面的代码指向根目录。我希望所有子域都指向我的“公文包”目录中的目录,所以我尝试修改自己的代码 修改后(添加"/投资组合"): 但它给了我“500-内部服务器错误”。。。为什么?有人能纠正我的密码吗? 对我的英语表示感谢和歉意。

  • 本文向大家介绍python列出目录下指定文件与子目录的方法,包括了python列出目录下指定文件与子目录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python列出目录下指定文件与子目录的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍python自动zip压缩目录的方法,包括了python自动zip压缩目录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python自动zip压缩目录的方法。分享给大家供大家参考。具体实现方法如下: 这段代码来压缩数据库备份文件,没有使用python内置的zip模块,而是使用了zip.exe文件 希望本文所述对大家的Python程序设计有所帮助。

  • 本文向大家介绍shell在指定目录下批量执行sql脚本的实例,包括了shell在指定目录下批量执行sql脚本的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇shell在指定目录下批量执行sql脚本的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。