necesita ayuda con awk fusionando filas por secuencia de varios files en un file

tiene muchos files y necesita fusionar cadenas entre ellos por grupos de tres files. cada file ~ 100-500 filas y el file de resultados ~ 100-200mb parece awk o sed puede ayudarme con pegar o sin él o usar concat? El generador de palabras key ppc hace lo mismo, pero es muy lento después de palabras key de 1 mil tarda 2-3 horas para 1 file de resultados

f1

Acapella Audio Arts Acoustic Smart 

f2

 australian Australia America 

f3

 Round Grille Square Grille grille defence grille 

resultado

 Acapella Audio Arts australian Round Grille Acapella Audio Arts australian Square Grille Acapella Audio Arts australian grille Acapella Audio Arts australian defence grille Acapella Audio Arts Australia Round Grille Acapella Audio Arts Australia Square Grille Acapella Audio Arts Australia grille Acapella Audio Arts Australia defence grille Acapella Audio Arts America Round Grille Acapella Audio Arts America Square Grille Acapella Audio Arts America grille Acapella Audio Arts America defence grille Acoustic Smart australian Round Grille Acoustic Smart australian Square Grille Acoustic Smart australianе grille Acoustic Smart australian defence grille Acoustic Smart Australia Round Grille Acoustic Smart Australia Square Grille Acoustic Smart Australia grille Acoustic Smart Australia defence grille Acoustic Smart America Round Grille Acoustic Smart America Square Grille Acoustic Smart America grille Acoustic Smart America defence grille etc..... 

Solo con bash:

 while IFS= read -u3 -r product; do while IFS= read -u4 -r region; do while IFS= read -u5 -r option; do echo "$product $region $option" done 5<f3 done 4<f2 done 3<f1 

Esta versión tendrá less files de E / S (lea cada file solo una vez) para que sea más rápido

 mapfile -t products < f1 mapfile -t regions < f2 mapfile -t options < f3 for product in "${products[@]}"; do for region in "${regions[@]}"; do for option in "${options[@]}"; do echo "$product $region $option" done done done