並列化する次のコマンドがあるとします。
my_command --file <(my | pipeline)
今、特定のチャンクで並列化したいと思います。
my | pipeline | parallel --spreadstdin my_command --file <(parallel's stdin)
Gnuパラレルを使用してこのリダイレクトをどのように実行しますか?
答え1
私が正しく理解した場合、parallel --spreadstdin
入力ブロックは実行中のプロセスの標準入力に送信されるので、読みたいのはmy_command
Parallelの標準入力ではなく、独自の標準入力です。
my_command
デフォルトでは、stdinを読み取らない場合は、通常は/dev/stdin
「raw」stdinと同じファイル/パイプで解決されるファイル名を代わりに使用できます。
だから
my | pipeline | parallel --spreadstdin my_command --file /dev/stdin
それはあなたが望むものでなければなりません。