Смена расширения картинок на соответствующее типу файла

rename.sh
#!/bin/bash
 
cd "$(dirname "$0")"
 
# Пути к изображениям через пробел
 
DIRS="."
 
# "-n" - ничего не делать, только показать как будет, закомментировать для боевой работы
# TEST_OPT="-n"
 
for DIR in $DIRS; do
  echo "## /$DIR"
  find $DIR -type f \( -iname  \*.jpg -o -iname \*.jpeg -o -iname \*.png -o -iname \*.gif -o -iname \*.tiff \) -print0 | while read -d $'\0' FILE; do
    echo $FILE
    MIME=`file -b --mime-type "$FILE"`
    case "$MIME" in
      "image/jpeg")
        rename -v $TEST_OPT 's/\.(jpg|jpeg|png|gif|tiff)$/\.jpg/i' "$FILE"
      ;;
      "image/png")
        rename -v $TEST_OPT 's/\.(jpg|jpeg|png|gif|tiff)$/\.png/i' "$FILE"
      ;;
      "image/tiff")
        rename -v $TEST_OPT 's/\.(jpg|jpeg|png|gif|tiff)$/\.tiff/i' "$FILE"
      ;;
      "image/gif")
        rename -v $TEST_OPT 's/\.(jpg|jpeg|png|gif|tiff)$/\.gif/i' "$FILE"
      ;;
      *)
      echo Skip "$FILE"
    esac
  done
done

Печать/экспорт