Мой сценарий оболочки немного ржавый, поэтому, пожалуйста, сделайте резервную копию ваших изображений, прежде чем попробовать этот сценарий.
#!/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
Указывание:
- Отрегулируйте путь к правильному значению
- Вам нужен *.jpeg?
identify
это команда ImageMagickawk
возьмет размеры пикселей отidentify
Использовать в качестве параметра (с шириной уменьшенной на 20px) дляjpegtran
Чтобы обрезать изображение- Новое изображение сохраняется как
new_[old_name].jpg
jpegtran
может скорректировать область обрезки так, чтобы она могла работать без потерь. Убедитесь, что полученные изображения являются правильным размером и не немного больше.