Java 输入文件1文件2…等和输出文件1输出文件2…等的Unix脚本?
我试图编写一个脚本,通过.jar运行多个输入文件,并将其输出发送到类似命名的输出文件 为了更好地解释,我有一个jar文件,我们称之为HelloWorld.jar 我还有输入文件file1、file2和file3 我需要输出文件file1out,file2out,file3out 现在我的剧本只是Java 输入文件1文件2…等和输出文件1输出文件2…等的Unix脚本?,java,shell,unix,Java,Shell,Unix,我试图编写一个脚本,通过.jar运行多个输入文件,并将其输出发送到类似命名的输出文件 为了更好地解释,我有一个jar文件,我们称之为HelloWorld.jar 我还有输入文件file1、file2和file3 我需要输出文件file1out,file2out,file3out 现在我的剧本只是 java -jar HelloWorld.jar < file1 > file1out java -jar HelloWorld.jar < file2 > file2out e
java -jar HelloWorld.jar < file1 > file1out
java -jar HelloWorld.jar < file2 > file2out
etc
java-jar HelloWorld.jarfile1out
java-jar HelloWorld.jarfile2out
等
有没有更快的方法
类似于
java -jar HelloWorld.jar < * > (not really sure for this part)
java-jar HelloWorld.jar<*>(这部分不太确定)
根据您使用的shell,您可以尝试for循环。这应该适用于sh、bash、zsh;但可能不是csh,ksh
for f in *
do
java -jar HelloWorld.jar < $f > ${f}.out
done
f in的*
做
java-jarhelloworld.jar<$f>${f}.out
完成
您可以做一些事情
用于/path/to/file1.txt/path/to/file2.txt/path/to/file3.txt中的文件
做
java-jar HelloWorld.jar$programmatical\u file\u name
完成
`
2.您可以参数化java应用程序以接受文件列表作为输入(字符串args[]),并在文件中创建与#1相同的逻辑。我宁愿推荐#2
java-jarhelloworld.jarfile${i}out
for file in /path/to/file1.txt /path/to/file2.txt /path/to/file3.txt
do
java -jar HelloWorld.jar < file1 > $programmatic_file_name
done
for i in {1..9}
java -jar HelloWorld.jar < file${i} > file${i}out