指定した高さより大きいフォルダの画像のみをサイズ変更/処理しますか? [コピー]

指定した高さより大きいフォルダの画像のみをサイズ変更/処理しますか? [コピー]

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:)

関連情報