Given the following example input on STDIN:
foo
bar bar
baz
===
qux
bla
===
def
zzz yyy
Is it possible to split it on the delimiter (in this case '===') and feed it over stdin to a command running in parallel?
So the example input above would result in 3 parallel processes (for example a command called do.sh) where each instance received a part of the data on STDIN, like this:
do.sh (instance 1) receives this over STDIN:
foo
bar bar
baz
do.sh (instance 2) receives this over STDIN:
qux
bla
do.sh (instance 3) receives this over STDIN:
def
zzz yyy
I suppose something like this is possible using xargs or GNU parallel, but I do not know how.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…