Se o seu yes
aceitar um argumento de string:
yes links.txt | xargs cat | xargs -n1 --max-procs=4 wget
Não há sentido em executar um cat
perl links.txt
ou um bash
por link (a menos que você queira que as linhas de links.txt
sejam interpretadas como código de shell como http://$host$path
ou http://evil;rm -rf /
).
Se o arquivo for pequeno o suficiente, você também pode fazer:
yes -- "$(cat links.txt)" | xargs -n1 -P4 wget