Unix脚本输入file1 file2 ...等输出file1out file2out ...等?

时间:2014-05-05 23:27:08

标签: 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
etc

有更快的方法吗?

像...一样的东西。

java -jar HelloWorld.jar < * > (not really sure for this part)

3 个答案:

答案 0 :(得分:1)

你可以做一些事情

  1. 在shell脚本中编写一个unix for循环来遍历文件并为文件创建输出。输出文件的名称为inputfile +“fileout”。
  2. `

     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
    

    ` 2.您可以参数化您的java应用程序以接受文件列表作为输入(String args [])并在文件中创建与#1相同的逻辑。我宁愿推荐#2

    1. 您甚至可以让您的java应用程序读取目录中的所有文件并在同一目录中创建所有输出文件

答案 1 :(得分:0)

根据您使用的shell,您可以尝试使用for循环。这应该在sh,bash,zsh中工作;但可能不是csh,ksh。

for f in *
do
  java -jar HelloWorld.jar < $f > ${f}.out
done

答案 2 :(得分:0)

for i in {1..9}
  java -jar HelloWorld.jar < file${i} > file${i}out