2013-07-23 95 views
0

我沒有以往的經驗寫一個劇本UNIX但我想似乎是一個簡單的任務命令。我要的文件夾中運行此命令爲所有PDF文件UNIX腳本,上運行多個文件

pdf2txt.py -o naacl06-shinyama.html samples/naacl06-shinyama.pdf 

,如果有一個名爲anypdf.pdf命令會是什麼樣子文件:

pdf2txt.py -o anypdf.html samples/anypdf.pdf 

所以如果我的文件夾包括3個PDF文件一樣,abc.pdf aaa.pdf bbb.pdf我要結束了與abc.html aaa.html和bbb.html

在此先感謝

回答

1
for pdf in samples/*.pdf; do 
    html=$(basename "$pdf" .pdf).html 
    pdf2txt.py -o "$html" "$pdf" 
done 

如果你沒有basename那就試試這個替代方案,它使用bash的##%構建內聯做替代品。

#!/bin/bash 

for pdf in samples/*.pdf; do 
    html=${pdf##*/}; 
    html=${html%.pdf}.html 
    pdf2txt.py -o "$html" "$pdf" 
done 
+0

感謝,但我得到一個(我相信)一個Python錯誤,如類型錯誤:()__init __得到了一個意想不到的關鍵字參數「OUTDIR」 –

+0

@GorkemYurtseven檢查它的運行'使用正確的參數pdf2txt.py'。該錯誤來自Python,而不是來自shell。 –

+0

謝謝我正在研究它 –