命令行下批处理图片
每次拍完照片之后,因为照片太大无法直接上传到空间里面,需要将照片缩小。这时总是因为工作量太大而无法让人望而生畏。如果使用windows,而且手头又有photoshop,那很好。因为photoshop里面有个批处理功能叫Action,但是没有在windows下,更没有photoshop,有没有简便的方法可以做这种简单重复的事情呢?
答案是肯定的。那就是命令行的”imagemagick”!imagemagick是一组命令,包括convert, identify, mogrify, composite, montage, compare, stream, display, animate, import, conjure.
使用convert命令对原图做缩放处理,并将缩放后的图片放到resized/目录中:
find . -maxdepth 1 -name '*.JPG' -exec convert {} -resize '1024x1024' resized/{} \;
某些网站的图片上传功能要求后缀名小写,这时需要做一次转换。使用如下命令:
for f in *; do mv $f `echo $f | tr '[:upper:]' '[:lower:]'`; done
或者使用如下命令(更简单):
find resized -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;