Il mio scripting di shell è un po 'arrugginito, quindi per favore fai un backup delle tue immagini prima di provare questo 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
Punti da notare:
- Regola il percorso al valore corretto
- Hai bisogno di *.jpeg?
identify
è un comando ImageMagickawk
afferrerà le dimensioni dei pixel daidentify
da utilizzare come parametro (con la larghezza ridotta di 20px) perjpegtran
Per ritagliare l'immagine- La nuova immagine viene salvata come
new_[old_name].jpg
jpegtran
potrebbe regolare la regione di ritaglio in modo che possa funzionare senza perdita. Verificare che le immagini risultanti siano le dimensioni corrette e non leggermente più grandi.