Eu não sei sobre python, mas você pode usar GNU parallel
para isso ( sudo apt install parallel
; Omito a maioria de suas opções para aumentar a clareza aqui):
parallel youtube-dl "ytsearchall:{}" -ix :::: /path/to/b.txt
Por padrão, parallel
executa tantos trabalhos em paralelo quanto você tem núcleos de CPU, o que normalmente é uma boa escolha. Se você quiser definir o número de processos youtube-dl
executados em paralelo, use a opção -j
, por exemplo, -j2
para dois processos.
Como alternativa, você pode usar um loop while
:
while IFS='' read -r l || [ -n "$l" ]; do youtube-dl "ytsearchall:$l" -ix; done </path/to/b.txt
Ambas as maneiras podem lidar com a última linha do seu arquivo que não termina em um linebreak - parallel
por design, o loop com a ajuda do comando de teste [
.