bash - 在用于转换 jpg、JPG 和 jpeg 文件的 for 循环中获取多个扩展名

标签 bash shell

我想将当前目录中的所有 jpg(独立于小写或大写或 jpeg 扩展名)转换为 95% 优化的。但是我没有在我的 for 循环中使用 JPG、jpg 和 jpeg 文件正确获取文件:/

#!/bin/bash
PIC=$(ls "$PWD"/*.{jpg,jpeg,JPG})
for i in $PIC
  do
   echo $i
   # convert $i -quality 95 ${i%.*}_resaved.jpg
done

最佳答案

尝试:

find -iname "*.jpg" -o -iname "*.jpeg" | while read f; do
  echo "$f"
  convert "$f" -quality 95 "${f%.*}_resaved.jpg"
done

关于bash - 在用于转换 jpg、JPG 和 jpeg 文件的 for 循环中获取多个扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841588/

相关文章:

regex - 压缩 awk/sed 管道命令

linux - 修改字符串以使变量工作

php - 如何在 Linux 上从大文件中过滤掉数据?

linux - 执行 bash 脚本和手动执行有区别吗?

bash - 在 Bash 中解析数据

regex - 如何在找到与 sed 的匹配项后仅追加一行?

perl - 如何模拟 cron 作业

linux - Bash 脚本 (awk-sed-grep) 检查下一行中的数字是否比上一行多 1

linux - 如何在 Linux/Unix Shell 中对字符串进行分段?

linux - 脚本中的 LDAP 搜索结果为 "DNS SRV: out of memory"