2012-03-29 64 views
29

如果將我的圖片與Linux的批量轉換:JPG的變化品質轉換,但保留其名稱

convert -quality 80% *.jpg 

它的工作原理,但軟件更改文件名以它選擇的第一個。我該如何保留這個名字,甚至用較低質量的圖片取代以前的圖片。

+1

@JimGarrison - 聽起來像一個shell腳本問題。 – 2012-03-29 16:55:21

+1

從手冊頁: > Mogrify覆蓋原始圖像文件,而轉換(1)寫入不同的圖像文件。 – 2016-01-07 17:03:55

回答

64

試試這個:

mogrify -quality 80% *.jpg 
10

convert命令的幫助:

convert input-file [options] output-file

現在小腳本所有JPG文件轉換爲原始的80%質量的當前目錄下

for file in *.jpg; do 
    convert "$file" -quality 80% "$file" 
done; 
+3

無用'ls',因爲它可以縮寫爲'for * in jpg'。而且mogrify可以一次處理多個文件。 – 2012-03-29 17:02:37

+1

@ringbearer這不是一個很好的做法。需要另一個進程,並且失敗的文件包含空格。除此之外,這是一個很好的答案。 – Sparhawk 2014-07-10 06:02:39

+0

我刪除了子進程(反向),並添加引號以防止錯誤 – 2016-01-07 16:59:17