にリダイレクトを使用しているとき、私はProcessBuilderを使用してこのコマンドを実行したいProcessBuilderをを使用する方法:以下の私が試してみましたLinuxの
sort -m -u -T /dir -o output <(zcat big-zipped-file1.gz | sort -u) <(zcat big-zipped-file2.gz | sort -u) <(zcat big-zipped-file3.gz | sort -u)
を:私はこのようなargs
を使用しています
// This doesn't recognise the redirection.
String[] args = new String[] {"sort", "-m", "-u", "-T", "/dir", "-o", "output", "<(zcat big-zipped-file1.gz | sort -u)", "<(zcat big-zipped-file2.gz | sort -u)", "<(zcat big-zipped-file3.gz | sort -u)"};
// This gives:
// /bin/sh: -c: line 0: syntax error near unexpected token `('
String[] args = new String[] {"/bin/sh", "-c", "\"sort -m -u -T /dir -o output <(zcat big-zipped-file1.gz | sort -u) <(zcat big-zipped-file2.gz | sort -u) <(zcat big-zipped-file3.gz | sort -u)\""};
:processBuilder.command(args);
私の質問が更新されました。いくつかのzcatコマンドの出力をソートにリダイレクトしたい。 –
ProcessBuilderはシェルではありません。シェルを明示的に呼び出すか、リダイレクトを自分で実行します。 – jtahlborn
これは重複していません。ここの問題は違う。私は2回目の試みで明示的にシェルを呼び出しました。 –