Смена расширения картинок на соответствующее типу файла
- 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