2014-03-25 24 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文件。但那取决于你。

相关问题