照片/图片我一般都保留三个版本,高分辨率的供存档,中分辨率的供网上共享, 低分辨率的供自己预览。批量处理可以省很多事。
很早以前网上搜到一个Makefile,现在找不到作者了。我修改后的代码如下:
big:
@for k in p*.jpg; \
do \
echo $$k ; \
name=`echo $$k | cut -f1 -d.`; \
convert -geometry 1600x1200 $$k Big$${name}.jpg; \
done
small:
@for k in p*.jpg; \
do \
echo $$k ; \
name=`echo $$k | cut -f1 -d.`; \
convert -geometry 640x480 $$k Small$${name}.jpg; \
done
tiny:
@for k in p*.jpg; \
do \
echo $$k ; \
name=`echo $$k | cut -f1 -d.`; \
convert -geometry 480x360 $$k Tiny$${name}.jpg; \
done
其中文件名通配符*前加了个p,其实没什么必要,只是因为我的相机导出的文件 名都以p开头。
然后把带有以上代码的文件存为Makefile,放到需要批处理照片的同一文件夹, 例如照片在~/image,就把Makefile也放在~/image,然后:
cd ~/image make big
就会把所有的照片缩小到1600x1200,对我来说用来收藏是足够了。然后把这些 大家伙存到Large文件夹:
mkdir Large mv Big* Large/
然后中等大小的图片和小图片同理,分别放到Small和Tiny文件夹。最后把原图 都删掉,因为太大占地方:
make small mkdir Small mv Small* Small/ make tiny mkdir Tiny mv Tiny* Tiny/ rm *.jpg