Created
July 6, 2021 22:47
-
-
Save rietta/14d1a04ad1af099624decdf5b462ef70 to your computer and use it in GitHub Desktop.
Shell script to batch convert HEIC files to jpeg, leaving the original and its converted side by side. Requires Mac OS or Linux, the find command line tool, and ImageMagick
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'shellwords' | |
files = `find . -iname '*.heic'`.split("\n") | |
files.each do |original_file| | |
output_file = original_file.gsub(/\.heic\z/i, ' Converted.jpg') | |
if File.exist?(output_file) | |
STDERR.puts "Skipping output #{output_file} exists." | |
else | |
cmd = "convert #{Shellwords.escape(original_file)} #{Shellwords.escape(output_file)}" | |
puts cmd | |
system cmd | |
end | |
en |
Thankyou, you are a legend :)
Needs a end
on line 15, not en
convert not found
@filipeandre This error message indicates that the convert command from ImageMagick is not installed on your Linux system, or it is not in the system's PATH.
Thank you very much @RandelP .
I missed the requirement at gist description, I was expecting the comment at batch-convert-heic.rb body :)
or without needing Ruby on Linux ( and perhaps OS X with brew ):
sudo apt-get install libheif-examples # ( install the library )
for i in *.heic; do heif-convert "$i" "${i%.*}.jpg"; done
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
~/bin/batch-convert-heic.rb
chmod 755 ~/bin/batch-convert-heic.rb
.batch-convert-heic.rb
to convert all HEIC files in any subfolder to JPEG.