私はディレクトリ内のすべてのファイルで実行する必要があるJavaクラスファイルを持っています。私は現在、しかし代わりに、端末に結果を表示するディレクトリ複数のファイルのターミナル出力をUNIXに保存する方法は?
find . -type f -exec java JavaProgram {} \;
内のすべてのファイル上のプログラムを実行するには、次のコマンドを使用しています、私は出力に別ファイルへの各呼び出しの結果を、それを必要としています。再帰的にディレクトリ全体でJavaプログラムを呼び出し、各呼び出しの端末出力を別々のファイルに保存できるコマンドがありますか?
java JavaProgram inputfile > outputdir/outputfile
のように振る舞いますが、'inputfile'
と'outputfile'
が同じ名前を持つディレクトリ内のすべてのファイルを再帰的に実行します。
'$ for(find。-type f)'の最初の行を実行すると、Illegal Variableというエラーが出ます。それは変数iと関係がありますか? –
そのようなfindの出力をループすると、ファイル名にスペースやその他の空白文字が入ります。http://stackoverflow.com/questions/301039/how-can-i-escape-white-space-in-a-bash- loop-list – ataylor
あなたはどのOSとシェルを使用していますか?この構文はbash/ksh用です。そして、@ataylorは正しいです、これはスペースでファイル名を処理しません。あなたは 'xargs'を調べるべきですか? –