Mac 終端機:循環子目錄並優化所有影像

Mac 終端機:循環子目錄並優化所有影像

我有一個資料夾,其中包含許多充滿圖像的子資料夾。例如,請參閱附圖。

替代

基本上,我想循環遍歷所有圖像並縮小圖像大小,使圖像寬度不超過 1024 像素。它們都是jpeg。

我知道 SIPS 命令,即

sips -Z 1024 *.png

但是,只有當所有圖像都位於當前目錄中時,這才有效。

如何設定它遍歷所有子目錄?

答案1

您可以使用 find 運行它:find images/path -type f -name '*.png' -exec sips -Z 1024 {} \;

Find 將在「images/path」目錄中搜尋檔案(-type f),副檔名為png(-name '*.png'),並執行參數中的命令,將「{}」替換為檔案名,需要結束帶有“\;”的命令。

答案2

我設法更改了一個對我有用的小 bash 腳本

#!/bin/bash

find "foldername" -type f | \
while read file ; do
    echo "processing ${file}"
    sips -Z 2000 ${file}
done

相關內容