2016-09-26 113 views
0

我基本上下載一些使用wget網站的圖像,然後使用命令行程序「convert」將它們附加到PDF文件中。但這最後一件事似乎不起作用。附加到PDF文件轉換在bash

我得到所有的.jpg圖像並將它們存儲到一個文件夾中,但沒有問題,但是當我嘗試將它們合併到PDF文件時,它總是提醒最後附加的圖像。我已閱讀了轉換的-append的說法,但它仍然無效。

這是我的代碼看起來像:

for file in *.jpg 
do 
    convert "${file}" -append "myfile.pdf" 

done 

但是,因爲它似乎合乎邏輯,myfile.pdf永遠結束只有最後的JPG圖像附加。 我知道,使用轉換如:

convert img1.jpg img2.jpg img3.jpg myfile.pdf 

會做的伎倆。但是,因爲我不知道下載目錄中有多少圖像,所以我無法對參數進行硬編碼,所以我猜測該目錄中每個圖像的循環都是我最好的解決方案。

有誰知道如何實現我的目標?任何幫助都感激不盡。

在此先感謝。

回答

1

bash自動擴展通配符的參數(除非如果他們引用或轉義),所以即使convert不支持通配符擴展,bash一樣。所以你可以做

convert *.jpg myfile.pdf 

請注意,如果文件太多,可能會導致「arglist太長」。但是,對於數百個文件,這應該是可以的。

+0

謝謝!真的很棒的信息!像魅力一樣工作! –

+1

太多的MS-DOS非擴展外殼幾乎得到了你最好的:) –

0

如果您的文件名遵循img1.jpg img2.jpg .....這樣的模式。那麼你也可以使用bash範圍:

convert img{1..5}.jpg 

這將適用於img1.jpg img2.jpg img3.jpg img4.jpg img5.jpg。您可以根據您的要求更改您的範圍。

要轉換所有jpg文件,答案已由@ Jean-FrançoisFabre提供。