shell 批量压缩指定目录及子目录内图片
DevStore小编专栏
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" "$file")
- done
- else
- echo "$folderPath not exists"
- fi
- }
- # 执行compress
- compress "$folderPath"
- exit 0
shell 批量压缩指定目录及子目录内图片相关推荐
- linux批量修改压缩图片大小,linux shell批量压缩某个目录下图片大小
linux shell批量压缩某个目录下图片大小 #!/bin/sh read -p "Input Path:" SPATH maxsize=$((1024*200)) FILEL ...
- 【shell】shell下获取指定目录及子目录下的所有文件或指定文件
Date:2018.7.8 shell下获取指定目录下的所有文件或指定文件: 方法一: funtion getAllFilesfor files in `find $1 -name "*.t ...
- java批量提取文件夹名称_bat 批量提取指定目录下的文件名
bat 批量提取指定目录下的文件名 下面是批量获取指定目录下的文件名的核心代码 @echo off echo text input set input= set /p input=: echo %in ...
- 【原创】C# 递归获取指定目录的子目录及其所有文件
public static void FindFile(string dirPath) //参数dirPath为指定的目录 { //在指定目录及子目录下查找文件,在listBox1中列出子目录 ...
- php定时删除目录,shell定时删除指定目录下的文件
contab -e 10 */12 * * * sh /usr/local/apache2/htdocs/cakephp/ebook/webroot/php/delete_big_log.sh 代码: ...
- bat 批量提取指定目录下的文件
如下是批量获取指定目录下的文件名. @echo off echo text inputset input= set /p input=: echo %input% is input cd %input ...
- 打印 指定目录下和子目录下的的所有.java文件的路径. (使用FileFilter过滤器)
1 package test; 2 /* 3 * 打印 指定目录下和子目录下的的所有.java文件的路径. 4 * */ 5 import java.io.*; 6 import java.util. ...
- 使用Python批量替换指定目录所有文件中的指定文本
使用Python批量替换指定目录所有文件中的指定文本 # -*- coding: utf-8 -*- import os from = "aaa" #替换为什么内容,可以是多行 t ...
- 执行shell脚本进入指定目录
在linux环境下,常有通过shell脚本进入指定目录的操作,例如有一段脚本chdir.sh: [plain] view plain copy #!/bin/sh cd /home/user/Dow ...
最新文章
- 1.1.3 以类为单位的编程思想
- armbian安装图形桌面_必看贴:Centos7安装Xrdp远程桌面服务
- SAP 系统中图标代码的查找
- maven中spring-boot-dependencies变量名冲突
- 【php7扩展开发三】ini配置
- 树的合并(ybtoj-树上dp)
- 1247 排排站 USACO(查分+hash)
- Zbrush 2019有哪些新功能需要你的探索,赶紧来看看
- 有关DataVisualization类组件的研究——Silverlight学习笔记[43]
- H3C设备之 EASY NAT
- C语言中的字符串函数
- paip.盘古汉字转拼音组件库使用总结
- C++11的std::declval与decltype
- 将ttc改为otf_几种字体格式的区别otf/ttf/ttc格式字体的区别
- Spring学习Ioc
- ucfirst() 函数
- php怎么查看当前地址,php二分法在IP地址查询中的应用
- 灭霸打了一个响指,我就学会了C语言的「分支与循环语句」
- 基于微信小程序的菜谱管理系统(菜谱小程序设计后台JavaSSM)
- Python制作简易计算器