Skip to content

Instantly share code, notes, and snippets.

@celsobessa
Created September 11, 2020 20:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save celsobessa/d6376eb727afb6060cc182ef0073fded to your computer and use it in GitHub Desktop.
Save celsobessa/d6376eb727afb6060cc182ef0073fded to your computer and use it in GitHub Desktop.
Shell script for batch image optimization with Imageoptim from command line as used by WoWPerations team (www.wowperations.com.br)
# Batch image optimization with Imageoptim from command line as used by WoWPerations team (www.wowperations.com.br
mdfind -onlyin . "kMDItemPixelWidth<480 && kMDItemContentType=public.jpg" > imagesLess480JPG.txt
mdfind -onlyin . "kMDItemPixelWidth>479 && kMDItemPixelWidth<760 && kMDItemContentType=public.jpg" > imagesLess760JPG.txt
mdfind -onlyin . "kMDItemPixelWidth>759 && kMDItemPixelWidth<1024 && kMDItemContentType=public.jpg" > imagesLess1024JPG.txt
mdfind -onlyin . "kMDItemPixelWidth>1023 && kMDItemPixelWidth<1280 && kMDItemContentType=public.jpg" > imagesLess1280JPG.txt
mdfind -onlyin . "kMDItemPixelWidth>1279 && kMDItemPixelWidth<1600 && kMDItemContentType=public.jpg" > imagesLess1600JPG.txt
mdfind -onlyin . "kMDItemPixelWidth>1599 && kMDItemContentType=public.jpg" > imagesLarger1599JPG.txt
mdfind -onlyin . "kMDItemPixelWidth<480 && kMDItemContentType=public.png" > imagesLess480PNG.txt
mdfind -onlyin . "kMDItemPixelWidth>479 && kMDItemPixelWidth<760 && kMDItemContentType=public.png" > imagesLess760PNG.txt
mdfind -onlyin . "kMDItemPixelWidth>759 && kMDItemPixelWidth<1024 && kMDItemContentType=public.png" > imagesLess1024PNG.txt
mdfind -onlyin . "kMDItemPixelWidth>1023 && kMDItemPixelWidth<1280 && kMDItemContentType=public.png" > imagesLess1280PNG.txt
mdfind -onlyin . "kMDItemPixelWidth>1279 && kMDItemPixelWidth<1600 && kMDItemContentType=public.png" > imagesLess1600PNG.txt
mdfind -onlyin . "kMDItemPixelWidth>1599 && kMDItemContentType=public.png" > imagesLarger1599PNG.txt
# Alternative command for synchronous processing:
# /Applications/ImageOptim.app/Contents/MacOS/ImageOptim $line
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""60"\"
cat imagesLess480JPG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""65"\"
cat imagesLess760JPG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""70"\"
cat imagesLess1024JPG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""70"\"
cat imagesLess1280JPG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""75"\"
cat imagesLess1600JPG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""80"\"
cat imagesLarger1599JPG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""60"\"
cat imagesLess480PNG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""65"\"
cat imagesLess760PNG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""70"\"
cat imagesLess1024PNG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""70"\"
cat imagesLess1280PNG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""75"\"
cat imagesLess1600PNG.txt | while read line; do
open -a ImageOptim $line
done
defaults write net.pornel.ImageOptim JpegOptimMaxQuality \""80"\"
cat imagesLarger1599PNG.txt | while read line; do
open -a ImageOptim $line
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment