如何在质量中使用convert命令,一个干净的正则表达式扫描?

时间:2012-01-30 20:04:18

标签: linux shell imagemagick gd

我有一堆像PHO_123456_12345678.jpg一样的图像,我想要生成名为THUMB90_123456_12345678.jpg的新图像,这是我想要使用的命令,除了我不知道如何批量执行此操作。

convert SRC.JPG      -resize 90x90^ \ -gravity center -extent 90x90  DST.JPG

有没有办法用正则表达式做或者它必须是shell脚本?

2 个答案:

答案 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