我有一个java类文件,我需要在目录中的每个文件上运行。我目前使用下面的命令在该目录如何在UNIX中保存多个文件的终端输出?
find . -type f -exec java JavaProgram {} \;
运行上的每个文件的程序,而不是但在终端上显示该结果,我需要它输出每次调用一个单独的文件的结果。有没有我可以使用的命令,可以递归调用整个目录下的java程序,并将每个调用的终端输出保存到单独的文件中?
有点像运行java JavaProgram inputfile > outputdir/outputfile
但递归地通过'inputfile'
和'outputfile'
具有相同名称的目录中的每个文件。
当我在$(find。-type f)中运行第一行'for i时'出现Illegal Variable name错误。这是否与变量i有关? –
循环查找这样的输出将打破与空格或其他空白字符的文件名:http://stackoverflow.com/questions/301039/how-can-i-escape-white-space-in-a-bash-循环列表 – ataylor
您使用的是什么操作系统和外壳?这个语法是针对bash/ksh的。而且,@ ataylor是正确的,这不处理带有空格的文件名。因为你应该调查'xargs'。 –