将所有png,jpeg,jpg转换为jpg并使用imagemagick压缩它们
我几乎有这个代码:
for PHOTO in /home/dvms/Desktop/projs/others/tests/gulp_test/src/images/*.{png,jpeg,jpg} do BASE=`basename $PHOTO` convert "$PHOTO" -quality 50% "/home/dvms/Desktop/projs/others/tests/gulp_test/src/imagesCompressed/$BASE.jpg" done
但是输出文件与旧的文件扩展名一起出现,最后附加了“.jpg”,例如:imageA.png.jpg。
怎么解决这个?
替换线:
BASE=`basename $PHOTO`
有了这个:
BASE=`basename $PHOTO | cut -d. -f1`
然后再试一次。
将代码修改为此表单:
for PHOTO in /home/dvms/Desktop/projs/others/tests/gulp_test/src/images/*.{png,jpeg,jpg} do BASE=$(basename $PHOTO) convert "$PHOTO" -quality 50% "/home/dvms/Desktop/projs/others/tests/gulp_test/src/imagesCompressed/${BASE%.*}.jpg" done
而不是这个$BASE.jpg
使用${BASE%.*}
然后添加扩展名。