首页 > 其他分享 >【gpt搬运】bash脚本压缩png,jpg图片,当图片大小大于100kb的时候

【gpt搬运】bash脚本压缩png,jpg图片,当图片大小大于100kb的时候

时间:2024-10-12 09:13:07浏览次数:9  
标签:100kb 压缩 compress jpg bash file png 图片

可以编写一个 Bash 脚本,使用 find 命令查找图片文件并利用 imagemagickjpegoptim 以及 pngquant 等工具来压缩图片。如果图片大小大于 100KB,就进行压缩。下面是一个示例脚本:

准备工具:

  • 安装 imagemagick:用于转换图片格式
  • 安装 jpegoptim:用于压缩 .jpg 图片
  • 安装 pngquant:用于压缩 .png 图片

安装命令(适用于 Debian/Ubuntu 系列 Linux):

sudo apt-get update
sudo apt-get install imagemagick jpegoptim pngquant

脚本内容:

#!/bin/bash

# 压缩JPG图片
compress_jpg() {
    local file="$1"
    echo "压缩JPG文件: $file"
    jpegoptim --max=85 "$file"  # 将质量降低到85%,根据需要调整
}

# 压缩PNG图片
compress_png() {
    local file="$1"
    echo "压缩PNG文件: $file"
    pngquant --ext .png --force 128 "$file"  # 将颜色数量减少到128
}

# 查找并压缩图片
find . \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) -type f | while read file; do
    filesize=$(stat -c%s "$file")
    
    # 如果文件大于100KB
    if [ $filesize -gt 102400 ]; then
        if [[ $file == *.jpg || $file == *.jpeg ]]; then
            compress_jpg "$file"
        elif [[ $file == *.png ]]; then
            compress_png "$file"
        fi
    else
        echo "$file 小于100KB,无需压缩"
    fi
done

echo "压缩完成!"

脚本说明:

  • 使用 find 查找当前目录下所有的 .jpg.jpeg.png 图片文件。
  • 使用 stat -c%s 获取文件大小。
  • 如果文件大于 100KB,则调用相应的压缩函数:
    • .jpg.jpeg 文件使用 jpegoptim 进行压缩。
    • .png 文件使用 pngquant 进行压缩。
  • 如果图片小于 100KB,脚本会跳过该文件。

使用方法:

将脚本保存为 compress_images.sh,然后给予执行权限并运行:

chmod +x compress_images.sh
./compress_images.sh

这样,脚本就会自动压缩当前目录下的所有大于 100KB 的图片。

标签:100kb,压缩,compress,jpg,bash,file,png,图片
From: https://www.cnblogs.com/imzhi/p/18459805

相关文章

  • 用 oh-my-bash 美化你的 bash
    目录安装两种简单的安装方式升级、卸载及其他安装Powerline字体以避免符号显示乱码一些配置安装两种简单的安装方式通过curl安装bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"通过wget安装bash-......
  • bash的特有扩展属性
    1.[[]]符合匹配#!/bin/bashname=$1if[["${name}"=~^li*]];then echo"以li开头"else echo"不以li开头"fi#if[["${name}"=="liwl"]]||[["${name}"=="liwanliang"]];then echo&q......
  • linux中的source命令和bash命令各有什么作用
    在Linux中,`source`命令和`bash`命令都是用来执行shell脚本或者设置环境变量的,它们在Shell编程和日常的系统管理任务中经常被用到。下面我简要解释一下这两个命令的作用:1.`source`命令:使用`source`命令可以读取并执行一个shell脚本文件中的命令,就好像脚本中的命令是直接在当......
  • 修改图片的DPI为300,图片格式转换成jpg,nodejs脚本
    //用sharp转换图片格式constSharp=require('sharp');//引入fs库用于文件操作constfs=require('fs');//引入path库用于处理文件路径constpath=require('path');//引入exiftool库用于处理图片元数据constexiftool=require('exiftool-vendored').exifto......
  • 【heic转jpg】heic图片怎么转换成jpg?
     ​想要将heic图片转换成其他格式,分享5个方法,希望能够帮助到大家。方法一:我们可以在iPhone设置中进行修改,修改以后在拍摄出的iPhone图片变为jpg格式的了,但是之前已经生成的图片不会改变格式,设置如下:设置-相机-格式-兼容性最佳,之后图片格式就默认为jpeg格式了。方法......
  • .bashrc改不改
    .bashrc干什么我们谈论的是Linux系统。Unix类系统也可以参考,但Windows系统就别看了。如果我们用ls-a命令查看用户主目录下的文件,我们可以发现有4个带"bash"的文件:.bashrc:非登录Session初始化时执行的配置。.bash_profile:登录Session初始化时执行的配置。.bash_logout:退出ba......
  • 如何使用简鹿格式工厂将DNG格式图片转换为JPG格式
    DNG(Digital Negative)是一种由Adobe公司开发的用于存储数字照片的原始图像文件格式。它是一种开放式、非专有的文件格式,旨在提供一种替代传统RAW格式(如CR2、NEF等)的解决方案。DNG文件可以包含来自不同相机和镜头的原始图像数据,以及一些重要的元数据,如曝光设置、白平衡、I......
  • bash 中 `${}` 的使用方法(由豆包生成)
    在Bash中,${}是一种参数扩展的语法结构,具有以下主要用法:一、变量替换可以用来获取变量的值。name="Alice"echo"${name}"#输出:Alice二、字符串操作提取子字符串:${var:start:length}:从变量var中提取从start位置开始,长度为length的子字符串。str="HelloWorld"echo......
  • Bash脚本基本语法
    一、Bash脚本以及相关介绍Bash脚本是一种在Unix或Linux操作系统中广泛使用的脚本语言,它允许用户编写一系列命令,这些命令将被Bash(Bourne-AgainSHell)解释器执行。Bash脚本可以用于自动化各种任务,比如文件管理、程序执行、系统维护等。编写Bash脚本的基本步骤包括:创建脚本文......
  • /bin/bash^M: 错误的解释器: 没有那个文件或目录
    *.sh:行8:$'\r':未找到命令*.sh:行15:未预期的记号"$'{\r'"附近有语法错误*.sh:行15:`start(){ 这个问题通常是由于文件中存在Windows换行符(CRLF)而引起的。在Unix/Linux系统中,脚本应该使用LF换行符,而不是Windows下的CRLF。要解决这个问题,你可以将文件中......