Files

查找帶有 png 副檔名的 gif/jpeg 文件並轉換為 png

  • November 16, 2018

第一個命令查找並列出帶有 png 副檔名的 jpeg/gif 文件。第二個命令將文件轉換為 png。

  1. find . -type f -name "*.png" | xargs -L 1 -I{} file -i {} | grep -v 'image/png; charset=binary$'
  2. find . -name "*.jpg" -exec mogrify -format png {} \;

我將這兩個命令結合起來。

find . -type f -name '*.png' -exec bash -c '[[ "$(file -bi {})" != "image/png; charset=binary" ]] && mogrify -format png {}' \;

此命令將查找具有 png 副檔名的正常文件,然後mogrify -format png在 mime 不匹配“image/png; charset=binary”時對每個文件執行。

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