Você pode fazer algo assim, usando a conversão do pacote imagemagick , colocando novos arquivos em / tmp / new ou em um diretório semelhante:
mkdir /tmp/new
find . -iname '*.jpg' |
while read file
do convert -resize '>3000x>3000' "$file" /tmp/new/"$file"
touch -r "$file" /tmp/new/"$file"
done
Se estiver satisfeito com o resultado, mova-o com:
rsync -a /tmp/new/ .
rm -fr /tmp/new