Use o comando Unix JOIN para mesclar dois arquivos
Isto não está funcionando como eu esperava, apesar de todas as pesquisas. Eu devo estar esquecendo alguma coisa..
Arquivo 1 ...
# cat file1.csv
1 123 JohnDoe
1 456 BobDylan
1 789 BillyJean
Arquivo 2 ...
# cat file2.csv
111 123 DaddyDoe
222 456 DaddyDylan
666 777 Stranger
555 789 DaddyJean
444 888 Stranger
333 999 Stranger
Estou tentando ingressar nos dois campos seguintes. Quando executo uma junção externa esquerda e incluo apenas campos do primeiro arquivo, tudo parece inoperant
# join -1 2 -2 2 -a 1 -o 1.2 1.3 file1.csv file2.csv
123 JohnDoe
456 BobDylan
789 BillyJean
Mas assim que eu incluo um campo do segundo arquivo, tudo fica maluc
# join -1 2 -2 2 -a 1 -o 1.2 1.3 2.3 file1.csv file2.csv
DaddyDoeoe
DaddyDylann
789 BillyJean DaddyJean
A última linha parece perfeita! O que há com os outros? Qualquer ideia? Desde já, obrigado
EDIT: Aqui está minha tentativa com CSVs reai
# cat file1.csv
1,123,JohnDoe
1,456,BobDylan
1,789,BillyJean
# cat file2.csv
111,123,DaddyDoe
222,456,DaddyDylan
666,777,Stranger
555,789,DaddyJean
444,888,Stranger
333,999,Stranger
# join -t, -1 2 -2 2 -a 1 -o 1.2 1.3 2.3 file1.csv file2.csv
,DaddyDoeoe
,DaddyDylann
789,BillyJean,DaddyJean