Junte-se a linhas ausentes

2

Suponha que eu tenha dois arquivos com esta aparência:

Arquivo 1:

1 x
2 y
3 z
5 l

Arquivo 2:

1 a
2 b
4 c
5 c

E eu quero me juntar a eles usando a primeira coluna como chave para dar

1 x a
2 y b
3 z
4 c
5 l c

onde uma linha ausente em um arquivo significa apenas que eu omito seus dados. Eu pensei que join faria o truque, mas parece insistir em pular qualquer linha que não apareça em ambos os arquivos e eu não consigo encontrar uma opção para fazer isso de outra forma. Pelo menos -e não funcionou como eu pensei que seria. Qual é a maneira correta de fazer isso?

    
por pythonic metaphor 09.08.2011 / 17:18

1 resposta

3

Isso é possível com o comando join usando a opção -a (duas vezes, uma para cada número de arquivo). Exemplo:

join -a1 -a2 1.txt 2.txt
    
por 09.08.2011 / 17:41