awk
Mesmo que seja possível ler um arquivo e compor o comando que você quer em um ciclo, há um comando que você pode achar mais confortável: awk .
Se o nome do arquivo for todo sem espaços, você pode usar essa sintaxe simples para criar o comando desejado e, em seguida, redirecionar ( | ) essa saída para um shell ( sh ) que o executará.
Com $1 , você pega a primeira coluna, com $2 a segunda e assim por diante ...
awk '{print "wget -O "$2,$1}' links.txt | sh
Se houver espaços nos nomes, você deve fazer mais alguns exercícios:
awk -F $'\t' '{print "wget -O\""$2"\" " $1}' links.txt | sh
Aqui você deve especificar que o separador de campo -F é a guia ( -F $'\t' )
e você tem que imprimir o " antes e depois do nome do arquivo. Uma vez que você está dentro de uma string, você precisa escapar [ 2 ] para eles echo "Those are double quote\"" .
Tente este comando sem o redirecionamento (então sem o | sh ) para ter a possibilidade de controlar a saída, então execute-o quando tiver certeza ...
Use man awk para ter mais ajuda.