Tente isto:
awk 'FNR==NR{a[FNR]=$0;next}
{for(i=1;i<=NF;i++){printf("%d\t",$i*a[FNR])}printf("\n")}' index.txt data.txt
Para index.txt
, salvamos o valor de cada linha no array associativo. Então, quando processamos data.txt
, multiplicamos o valor de cada campo pelo valor correspondente na matriz associativa, que é a[FNR]
.
Ele funciona da mesma forma que a resposta do @ devnull, mas não precisamos codificar o nome do arquivo em nosso programa.