仅调整/处理文件夹中大于指定高度的图像?

仅调整/处理文件夹中大于指定高度的图像?

我有一个包含 JPG 图像的文件夹,其中一些图像的高度尺寸大于 1900 像素。我需要一个命令来忽略高度尺寸低于 1900 像素的图像,同时仅调整高度较大的图像的大小。

此命令执行调整大小工作,但在此过程中它仍然会打开并重新保存未调整大小的图像,这会占用 HD 和 CPU 带宽:

mogrify -resize 'x1900>' *.jpg

是否有更好的命令,可以忽略低于像素阈值的图像?

这个问题与这里的问题不同:使用 mogrify 调整大文件大小,同时忽略小文件

我希望该命令确定哪些 JPG 大于某个高度,并将宽度从等式中剔除。

答案1

zsh

higher() {
  local h
  h=$(identify -format %h - < $REPLY) &&
    ((h > $1))
}

mogrify -resize 'x1900>' ./*.jpg(.e:higher 1900:)

相关内容