2012-08-14 30 views
0


我使用linux,bash。
我在一些目錄中有一堆圖像文件。所有名稱都必須保存(文件名和目錄)。但我需要將所有圖像轉換爲不同的大小和ppi。我用
convert -units PixelsPerInch 75 -resize 200x200 ~/filepath/*.jpg ~/filepath.*jpg
但它取代了錯誤的文件。此外,我已經試過
"{}" "{}"%03d.jpg
的號碼添加到新的文件名,但只給出了001.JPG等 解決方案,如
Bash - get last dirname/filename in a file path argument

Extract filename and extension in Bash
${filename%.}和腳本
其他地區或
http://bytebar.blogspot.com/2008/08/bash-filename-extraction.html
不工作,或者我沒有這樣的知識來了解代碼... 如何轉換這些文件保持ir名稱和目錄?bash轉換w /複製文件名

回答

0
ls ~/filepath.*jpg | xargs -n 1 -I{} convert -units PixelsPerInch 75 -resize 200x200 {} {} 

「xargs -n 1」使用提供的參數一次調用以下函數。 xargs的-I {}參數告訴xargs用給定的參數替換{}的每個出現。

+0

對不起,它確實工作!謝謝!我使用的代碼與您的建議完全相同。 – boldnik 2012-08-14 19:03:26