我的外壳脚本有点生锈,所以请在尝试此脚本之前对图像进行备份。
#!/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
是一个成像命令awk
会从identify
用作参数(将宽度降低20px)jpegtran
裁剪图像- 新图像被保存为
new_[old_name].jpg
jpegtran
可能会调整裁剪区域,使其可以无损地执行。检查结果图像是否正确,尺寸不大,尺寸不大。