Parallel processing 将gnu的输出与单个文件或管道并行是否安全
构造类似于Parallel processing 将gnu的输出与单个文件或管道并行是否安全,parallel-processing,scripting,io-redirection,Parallel Processing,Scripting,Io Redirection,构造类似于 find . -type f -name '*log' \ | parallel grep 'somestuff' | moreComplexLineRearrangementScript | sort 我想知道,由于多个grep实例在没有任何缓冲区同步的情况下写入同一管道,因此MoreComplexlinerRangementScript是否有看到乱码行的风险 这是像上面那样天真地使用grep的问题吗?还是grep的实现总是使用flush()写行 如果不是grep,那么在
find . -type f -name '*log' \
| parallel grep 'somestuff'
| moreComplexLineRearrangementScript
| sort
我想知道,由于多个grep实例在没有任何缓冲区同步的情况下写入同一管道,因此MoreComplexlinerRangementScript是否有看到乱码行的风险
parallel
中会有什么魔力吗parallel
来保证行保持完整默认情况下,GNU Parallel按作业缓冲输出,因此不同作业的输出不会全部混淆,即:
parallel --group
如果希望GNU Parallel一次一行地输出,可能会混合不同作业的输出,但始终是整行输出,请使用:
parallel --line-buffer
如果您喜欢您的输出非常高,甚至是中线,那么请使用:
parallel --ungroup