我有一堆像PHO_123456_12345678.jpg一样的图像,我想要生成名为THUMB90_123456_12345678.jpg的新图像,这是我想要使用的命令,除了我不知道如何批量执行此操作。
convert SRC.JPG -resize 90x90^ \ -gravity center -extent 90x90 DST.JPG
有没有办法用正则表达式做或者它必须是shell脚本?
答案 0 :(得分:2)
让我们看看......我认为这应该有效:
ls *.jpg | sed -i -e "s~^PHO_~~" | xargs -n1 -i convert PHO_{} -resize 90x90^ \ -gravity center -extent 90x90 THUMB90_{}
答案 1 :(得分:0)
它必须是一个正则表达式[内部] shell脚本的组合。
IMGPREFIX='PHO'
THUMBPREFIX='THUMB90'
for filename in $IMGPREFIX_*.jpg ; do
thumbfilename=$(echo $filename | sed 's/$IMGPREFIX_\(.*\)\.jpg/$THUMBPREFIX_\1\.jpg/')
convert $filename -resize 90x90^ \ -gravity center -extent 90x90 $thumbfilename
done