Answer:
find /img/path -name "*.jpg" -type f -exec jpegtran -copy none -optimize -outfile {} {} \;
Question
I want to optimize the whole test folder with jpg images from a command line. I found this but it doesn't work:
cd /home/site/html/update/test/
find . -exec jpegtran -optimize "{}" "{}.opti.jpg" "{}" \;
I want to overwrite the existing images.
Suggestions?
Answer:
find /img/path -name "*.jpg" -type f -exec jpegtran -copy none -optimize -outfile {} {} \;
Solution
Answer:
find /img/path -name "*.jpg" -type f -exec jpegtran -copy none -optimize -outfile {} {} \;
OTHER TIPS
Though it is solved here pretty earlier but talking about Python approach:
import subprocess
for image_name in arr:
subprocess.call(["jpegtran", "-your", "-instructions"])
Let's say your instruction is something like:
jpegtran -optimize -progressive -scans script_new.txt -outfile progressive.jpg original.jpg
So your instruction will be like:
subprocess.call(["jpegtran", "-optimize", "-progressive", "-scans", f"{scan_name}.txt", "-outfile", name_progressive, name_original])
For your convenience, name_progressive, name_original and scan_name are variables and concept f-string is used.