Images

使用 Imagemagick 批量調整子目錄中的圖像大小

  • August 15, 2017

我正在嘗試調整目錄和子目錄中所有圖像的大小。我有這個從這裡得到的腳本:使用 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

我已經嘗試進行調整,但沒有取得太大進展。

您可以與 結合identify使用find,例如:

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

這將為遞歸找到的每個以 .jpg 結尾的文件執行您的identify命令(不區分大小寫)。

使用您的完整範例:

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'

引用自:https://unix.stackexchange.com/questions/386164