2013-04-05 78 views
2

我想将当前目录中的所有jpgs(独立于小写或大写或jpeg扩展名)转换为95%优化的文件。但是我不我与JPG循环,JPG和JPEG文件正确地获取文件:/在for循环中获取多个扩展名用于转换jpg,jpg和jpeg文件

#!/bin/bash 
PIC=$(ls "$PWD"/*.{jpg,jpeg,JPG}) 
for i in $PIC 
    do 
    echo $i 
    # convert $i -quality 95 ${i%.*}_resaved.jpg 
done 
+0

你一定有在'$ PWD这种类型的文件'?当我在具有类似文件的文件夹中试用时,'ls'命令适用于我。 – 2013-04-05 19:12:48

+0

是的,我确定。但是我得到了非常奇怪的结果,其路径有空格和目录,没有.jpeg文件。 – therealmarv 2013-04-05 19:25:07

回答

4

尝试:

find -iname "*.jpg" -o -iname "*.jpeg" | while read f; do 
    echo "$f" 
    convert "$f" -quality 95 "${f%.*}_resaved.jpg" 
done 
+0

工作!谢谢 :) – therealmarv 2013-04-05 19:18:47