Skip to content

Instantly share code, notes, and snippets.

@suapapa
Forked from mrmcwake/heicToJpg.sh
Last active August 28, 2022 22:41
Show Gist options
  • Save suapapa/ed4ed713cec0ac9adbcb025abb46d496 to your computer and use it in GitHub Desktop.
Save suapapa/ed4ed713cec0ac9adbcb025abb46d496 to your computer and use it in GitHub Desktop.
Recursively converts .heic files to .jpg on linux for a specified root directory (coming from an iOS11 device over USB)
#!/bin/bash
# Recursively converts all HEIC files to JPG for the specified directory. Skips any files that have already
# been converted. Requires tifig, download latest release from github:
# https://github.com/monostream/tifig/releases and install at /usr/bin/tifig
# (or add the install location you choose to your $PATH)
#
# usage: ./heicToJpg.sh [RootDirectory]
#
rootDir=$1
if [ -z "$rootDir" ]
then
echo "Need to specify root directory."
exit 1
fi
find $rootDir -type f -iname "*.heic" | while read f
do
ft=$(file -b "$f")
n=$(echo $f | sed 's/.heic/.jpg/I')
if [[ $ft == JPEG* ]]; then
echo "wrong file ext. mv '$f' to '$n'"
mv "$f" "$n"
continue
fi
if [ -f '$n' ]; then
echo "Alredy converted. Skipping $f"
continue
fi
echo "Converting '$f' to '$n'"
# tifig -i '$f' -o '$n'
heif-convert '$f' '$n'
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment