Necessário comparar os dois arquivos e imprimir todas as colunas, em seguida, faltando exibir como NA, depois juntar outro arquivo [duplicado]

0

Arquivo 1:

123, 234
345, 789
678, 900

Arquivo 2

123, abc
345, dnc

saída (todas as colunas no arquivo1 e valor ausente no arquivo dois como NA):

123,234,abc
345,789,dnc
678,900,NA

Arquivo de saída para adicionar outro arquivo

Arquivo 3

123, 2014/10/20
678, 2013/02/30

Arquivo de saída

123,234,abc,2014/10/20
345,789,dnc,NA
678,900,NA,2013/02/30

Existem 10 arquivos que eu preciso adicionar ao 1º arquivo

    
por user_tmo 04.11.2014 / 06:34

1 resposta

2

Se você tiver muitos arquivos de entrada e precisar repetir o procedimento, uma maneira de simplificar essa tarefa é definir uma função:

myjoin () {
join -t, -a 1 -a 2 -j 1 -e ' NA' -o auto $1 $2 ; }

E, em seguida, invoque-o usando a substituição de proces <() as

myjoin <(myjoin file1 file2) file3

O resultado:

123, 234, abc, 2014/10/20
345, 789, dnc, NA
678, 900, NA, 2013/02/30

Eu usei aqui resposta do cuonglm da sua pergunta anterior com a participação, é claro que você pode usar esse método com qualquer outra solução 'única'.

    
por 04.11.2014 / 07:05