2014-02-12 34 views
0

我想使用以下shell腳本轉換文件夾中所有圖像文件的格式。我的想法是使用文件名的基本名稱,並使用相同的名稱來命名要轉換的文件。我從互聯網上收集這些線路,並不能滿足我的要求。謝謝大家。使用shell腳本轉換文件格式

for f in *.eps 
do 
echo "converting format....." 
filename=`basename ${f}` 
fbase=`$filename | cut -d'.' -f1` 
extn = ${fbase}.png 
    convert -geometry 1000x1000 -density 300 -trim ${f} $extn 
done 

回答

1

我認爲你需要更多的東西是這樣的:

#!/bin/bash 
for f in *.eps 
do 
    new=${f/eps$/png} 
    echo Converting $f to $new 
    convert -geometry 1000x1000 -density 300 -trim "$f" "$new" 
done 

注意

線開始 「新=」 正在執行中的變量 「F」 一個bash替代,在行末(即$)用「png」代替「eps」。

+0

請勿使用反引號,請使用'$(...)'代替。 –

+0

和basename也可以刪除後綴,'$ echo $(basename test.eps .eps).png' –

+0

好吧,我猜他們更時髦,確實有優勢。謝謝 - 我已經更新了答案,所以我和OP的壞習慣不會傳播;-)考慮到OP的細節缺乏, –