Imagemagickを使用してサブディレクトリの画像サイズを一括調整します。

Imagemagickを使用してサブディレクトリの画像サイズを一括調整します。

ディレクトリとサブディレクトリのすべての画像をサイズ変更しようとしています。ここから得たスクリプトがあります。小さなファイルを無視して大きなファイルのサイズを変更するには、mogrifyを使用します。

次のように調整しました。

identify -format '%w %h %i\n' ./*.jpg |
awk '$1 > 1200 || $2 > 1200 {sub(/^[^ ]* [^ ]* /, ""); print}' |
tr '\n' '\0' |
xargs -0 mogrify -resize '1200x1200'

ただし、現在のディレクトリと.jpg拡張子のみを処理します。 - 大文字は無視します。 - .JPG

調整しようとしましたが、あまり進展はありませんでした。

答え1

あなたはidentify組み合わせることができますfind、例えば:

find . -type f -iname "*.jpg" -exec identify -format '%w %h %i\n' {} \;

identify名前が.jpgで終わる(大文字と小文字を区別しない)、繰り返し見つかったすべてのファイルに対してコマンドを実行します。

完全な例を使用して、以下を実行します。

find . -type f -iname "*.jpg" -exec identify -format '%w %h %i\n' {} \; |
awk '$1 > 1200 || $2 > 1200 {sub(/^[^ ]* [^ ]* /, ""); print}' |
tr '\n' '\0' |
xargs -0 mogrify -resize '1200x1200'

関連情報