是否可以使用 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.
- 这与“文件必须是
物理(可搜索)文件“(来自手册页)?
- 如果是这样,流不是"seekable"?
- "seekable" 是什么意思?
你的 3 颗子弹是准确的。
必须从第一个字节到最后一个字节读取流。您可以从中间开始阅读的可搜索文件:您可以 fseek
到中间并阅读。您甚至可以同时从文件中的不同位置读取多个进程。 GNU Parallel 使用的是最后一个 属性。
所以不:<(process)
不是可搜索的文件。
我正在尝试执行以下操作:
$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.
- 这与“文件必须是 物理(可搜索)文件“(来自手册页)?
- 如果是这样,流不是"seekable"?
- "seekable" 是什么意思?
你的 3 颗子弹是准确的。
必须从第一个字节到最后一个字节读取流。您可以从中间开始阅读的可搜索文件:您可以 fseek
到中间并阅读。您甚至可以同时从文件中的不同位置读取多个进程。 GNU Parallel 使用的是最后一个 属性。
所以不:<(process)
不是可搜索的文件。