https://imagemagick.org/script/download.php
https://imagemagick.org/download/binaries/magick
#!/bin/bash files=`ls ./Camera/*.jpg` for file in $files; do #dir=`dirname $file` name=`basename -s .jpg $file` new="./$name.jpg" (set -x ; ./magick convert $file -auto-orient -resize 25% -quality 90 $new) #break; # break on first iteration done;
With some parallelism:
#!/bin/bash found=`find ./Camera -iname '*.jpg'` files=($(echo $found | tr ',' "\n")) n=3 # number of parallel tasks cnt=${#files[@]} for ((i = 0; i < $cnt; ++i)); do #dir=`dirname $file` file=${files[$i]} name=`basename $file` new="./${name%%.*}.jpg" while (( `jobs | wc -l` >= $n )); do wait -n done echo "$(( $i + 1 )) / $cnt" (set -x ; ./magick convert $file -resize 1200x1200 -quality 90% -auto-orient $new) & #break; # break on first iteration done wait
#!/bin/bash found=`find ./ -iname '*.pdf'` readarray -t files <<<"$found" cnt=${#files[@]} convert="./magick convert" for ((i = 0; i < $cnt; ++i)); do #dir=`dirname $file` file=${files[$i]} name=`basename "$file"` new="./${name%%.*}.jpg" echo "$(( $i + 1 )) / $cnt" echo "$convert \"$file\" -density 300x300 -quality 90 \"$new\"" # (set -x ; ./magick convert \"$file\" -density 300x300 -quality 90 \"$new\") #break; # break on first iteration done
383000cookie-checkBash + ImageMagick generate photo thumbnails