2014-03-25 19 views
0

我有一個可運行的jar文件,在參數中需要一個.txt文件。我需要爲我的所有文件運行jar,但其中有一百萬個文件,所以我需要編寫它。新手腳本。需要jar來運行在一個大的文件列表

包含我的所有文件我的文件夾看起來像這樣

WC-10-10-01.txt 
WC-10-10-02.txt 
WC-10-10-03.txt 
WC-10-20-01.txt 
WC-10-20-02.txt 
WC-10-20-03.txt 

所以如果我手動運行它,我會鍵入一個這些命令由一個

java -jar dynamique.jar -f /stuff/WC-10-10-01.txt 

java -jar dynamique.jar -f /stuff/WC-10-10-02.txt 

java -jar dynamique.jar -f /stuff/WC-10-10-03.txt 

也該jar打印結果在控制檯中。我需要每個結果保存在一個文件夾中,可以說myResults.txt

+0

你有你的java項目的源代碼嗎?如果是這樣,爲什麼不改變它迭代de文件並保存結果呢?一旦你沒有爲每次調用創建一個JVM實例,這會更快。 –

回答

0

您可以循環遍歷目錄中的文件:

#!/bin/bash 
for filename in /example/directory/*.txt; do 
    java -jar dynamique.jar -f "$filename" >> /home/sscripts/myResults.txt 
done 

然後,你需要運行從目錄中的腳本它存儲,所以如果你這個腳本保存爲my_loop.sh目錄/家庭/用戶/腳本/你需要運行它要麼:

$ cd /home/user/scripts/ 
$ ./my_script.sh 

或從任何目錄:

$ /home/user/scripts/./my_script.sh 

記得給runninf權限:

$ chmod +x /home/user/scripts/my_script.sh 

一個更好的方法是列出自己的編碼它在Java中,而不是要求每個文件名的jar文件。但那取決於你。

相關問題