在不同的线路上并行运行单行程序

在不同的线路上并行运行单行程序

因此,假设我有一个包含 URL 列表的数组,并且我想使用 GNU parallel 之类的工具来并行下载 URL。像这样的命令就可以解决问题。

parallel -u wget -qc --show-progress ::: "${URLs[@]}"

此命令的唯一问题是,当显示命令的进度时(特别是因为在-u发生时显示输出而不是等待),命令的输出全部转到同一行。这会导致这样一种情况:当一个 wget 实例输出时,它会覆盖 tty 上前一个 wget 输出的进度。所以,我想知道如何同时让每个 wget 输出在它自己的行上?

答案1

parallel --ll wget -qc --show-progress ::: "${URLs[@]}"

--ll 选项处于 alpha 测试中,但在我的测试中有效。

相关内容