GNU并行 - 保持输出颜色

时间:2015-12-14 21:04:28

标签: colors gnu-parallel

我正在并行化一些具有彩色输出的0-args命令(脚本/其他),但是当并行打印输出时它是无色的(除非我使用Observable.interval(5, TimeUnit.MINUTES) .flatMap(count -> this.restApi.storeCollection(id, page)) // etc. 选项,但它是无序的)。

有没有办法改变它?

我正在使用的线(插图):

-u
BTW,我使用的是本地版本的GNU parallel,但它应该或多或少相同。

由于

1 个答案:

答案 0 :(得分:2)

原因是您的命令行工具检测到它们没有打印到终端(GNU Parallel在将它们打印到终端之前保存到临时文件中)。有些工具即使输出到文件也可以强制颜色:

parallel 'echo {} | grep --color=always o' ::: joe

你可以要求GNU Parallel给脚本提供tty:

parallel --tty -j+0 'echo {} | grep o' ::: joe

--tty默认为-j1,因此您必须明确覆盖它。它也有问题,GNU Parallel无法杀死这些工作。这将持续10秒:

parallel --tty --timeout 5 sleep ::: 10