GNU Parallel:如何从gnu并行管道接收stdin,就像它来自文件一样?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GNU Parallel:如何从gnu并行管道接收stdin,就像它来自文件一样?相关的知识,希望对你有一定的参考价值。
假设我有以下命令运行如下:
my_command -f file
如何设置并行以使管道内容像管道一样被执行?
# For example, in pseudo code:
cat item | parallel my_command -f <(the incoming stdin)
这样做非常重要,因为我正在通过--speadstdin
选项处理特定的数据块,所以如果有一种方法可以将管道输入重定向,就像它来自文件一样,那将解决这种情况。
答案
您正在寻找--cat
或--fifo
:
cat file | parallel --pipe --cat my_command -f {}
更快,但要求my_command
从头到尾一次只读一次完整的文件:
cat file | parallel --pipe --fifo my_command -f {}
更快,但需要file
是一个真实的文件:
parallel -a file --pipepart --block -1 --fifo my_command -f {}
另见GNU Parallel 2018中的第9.6章(在线:https://doi.org/10.5281/zenodo.1146014印刷:http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html)。
以上是关于GNU Parallel:如何从gnu并行管道接收stdin,就像它来自文件一样?的主要内容,如果未能解决你的问题,请参考以下文章