Meu script de shell está um pouco enferrujado, então faça um backup de suas imagens antes de experimentar este script.
#!/bin/bash
FILES=/path/to/*.jpg
for f in $FILES
do
identify $f | awk '{ split($3, f, "x"); f[1] -= 20; cl = sprintf("jpegtran -crop %dx%d+0+0 %s > new_%s", f[1], f[2], $1, $1); system(cl); }'
done
Pontos a serem observados:
- Ajuste o caminho para o valor correto
- Você precisa *.jpeg?
identify
é um comando imagemagickawk
vai pegar as dimensões de pixel deidentify
para usar como um parâmetro (com a largura reduzida em 20px) parajpegtran
Para cortar a imagem- A nova imagem é salva como
new_[old_name].jpg
jpegtran
pode ajustar a região de cultivo para que possa ter um desempenho sem perdas. Verifique se as imagens resultantes são o tamanho correto e não são um pouco maiores.