com paste
:
paste -d '\n' <file1.txt - - - file2.txt
embora continue mantendo as linhas depois que um dos arquivos estiver esgotado, se ainda houver linhas no outro arquivo, como em sua amostra.
com awk
:
awk '{print}; NR % 3 == 0 {getline < "file2.txt"; print}' file1.txt
Ou o equivalente sed
do GNU:
sed '3~3 R file2.txt' file1.txt
Desta vez, pare assim que file1.txt
estiver esgotado, mas continue se file2.txt
estiver esgotado (e imprima linhas vazias na variante awk
e nada na variante% GNUsed
).
Para parar assim que um dos arquivos esgotar:
awk '{print}
NR % 3 == 0 {
if ((getline < "file2.txt") <= 0) exit
print
}' file1.txt