para uma solução simples: paste
os três arquivos juntos e, em seguida, obtenha as colunas desejadas:
paste -d' ' file1 file2 file3 |\
awk 'BEGIN { FS = " +" } { NR ==1} { printf "%-10s%-7s%-7s %-12s %-12s\n" $1,$2,$3,$6,$7 } { NR >=2 } { printf "%-10s%-7s%-7s %s,%s%s %s%s%s\n" $1,$2,$3,$6,$7,$8,$9,$10,$11 } '
Isso terá que ser adotado de acordo com seus arquivos e preferências para o formato de saída. Explicações:
1) paste -d' '
- > mesclar os arquivos de árvore na direção vertical, use o espaço como -d
elimitador.
2) canalize-o para awk
(e continue o comando na nova linha |\
para legibilidade aqui)
2.1) BEGIN { FS = " +" }
- para todos os que seguem, use um ou mais (+) espaços como delimitador de campo
2.2) na primeira linha { NR ==1}
print fields 1,2,3,6,7 ( $1,$2 ...
) com o seguinte formato (entre aspas duplas)
%-10s
uma cadeia fixa de 10 caracteres (restante preenchido com espaços, alinhados à esquerda).
duas vezes o mesmo com 7 caracteres, depois dois espaços, uma cadeia com 12 caracteres, dois espaços e 12 caracteres. Adicione uma nova linha \n
no final.
(encontrado na parte { printf "%-10s%-7s%-7s %-12s %-12s\n" $1,$2,$3,$6,$7 }
)
2.2) os dados: das linhas dois e maiores { NR >=2 }
imprimir colunas $1,$2,$3,$6,$7,$8,$9,$10,$11
com o formato %-10s%-7s%-7s %s,%s,%s %s,%s,%s\n
semelhante ao acima, mas agora, e. colunas 6,7,8 são de comprimento arbitrário e separadas por uma vírgula %s,%s,%s
Espero que isso ajude você a criar a saída conforme necessário.