为终端内的多个链接运行相同的命令

use*_*373 2 shell wget

我有一个包含许多链接的文件。例如,这里是我的文件:

link1
link2
link3
link4
link5
link6
link7
link8
link9
link10
link11
link12
link13
link14
link15
link16
Run Code Online (Sandbox Code Playgroud)

我想在同时运行第 1 个 4 个链接的单个终端上运行特定命令。例如我想运行的命令是

wget link1
wget link2
Run Code Online (Sandbox Code Playgroud)

等等。但我想同时运行前 4 个链接。然后,如果其中一个链接下载完成,则应自动提交下一个链接(即link5)以供下载,依此类推。

我正在寻找一种方法,我不一个一个地下载链接(使用更多时间),我也不必打开多个终端来提交多个单独的链接作为单独的命令。任何帮助将非常感激。

jes*_*e_b 5

您可以使用 GNU 并行:

parallel --retries 5 -j4 -a file.txt wget {}
Run Code Online (Sandbox Code Playgroud)

这将一次执行 4 个作业并从file.txt. 如果一个作业失败,它将在继续下一个作业之前最多重试 20 次。