是否可以使用 GNU parallel 进行进程替换?

Is it possible to use process substitution with GNU parallel?

我正在尝试执行以下操作:

   $echo "hi" | parallel --pipe head
hi

但使用不同的 -a 标志和 --pipepart 因为根据 the manual.

它应该更快

以下情况无效:

   $parallel --pipepart --block 1M -a <(echo "hi") head
Died at -e line 1.

再试一次,还是不行:

   $parallel --pipepart --block 1M -a "<(echo \"hi\")" head
parallel: Error: Cannot open input file `<(echo "hi")': No such file or directory.

你的 3 颗子弹是准确的。

必须从第一个字节到最后一个字节读取流。您可以从中间开始阅读的可搜索文件:您可以 fseek 到中间并阅读。您甚至可以同时从文件中的不同位置读取多个进程。 GNU Parallel 使用的是最后一个 属性。

所以不:<(process) 不是可搜索的文件。