No caso que você mostra, tudo o que você realmente precisa é
paste -d ' ' file2 file1
Você faz praticamente tudo o que você quer usando ordenadamente usando cut
e paste
(e alguma substituição de processo de shell), por exemplo. para produzir as duas primeiras colunas de file1
seguido pela segunda coluna de file2
seguido pelo restante de file1
e finalmente a primeira coluna de file2
você poderia fazer
paste -d ' ' <(cut -d ' ' -f 1,2 file1) <(cut -d ' ' -f 2 file2) <(cut -d ' ' -f 3- file1) <(cut -d ' ' -f 1 file2)
Ou (talvez com mais eficiência), você pode colar os dois arquivos como estão e canalizar o resultado para awk
para selecionar colunas específicas em uma ordem específica:
paste -d ' ' file1 file2 | awk '{print $1, $2, $NF, $3, $4, $5, $(NF-1)}'
ou (se preferir), com perl
paste -d ' ' file1 file2 |
perl -alne 'print join " ", @F[0,1],@F[6],@F[2..4],@F[5]'