Selecione linhas adicionadas do arquivo

3

Eu tenho duas versões de um arquivo onde o mais novo tem algumas linhas adicionadas. Os arquivos são classificados (pense em listas de palavras) e eu quero imprimir as linhas recém-adicionadas (dados file1 e file2).

Eu sei escrever um pequeno script python ou perl para conseguir essa tarefa, mas isso também pode ser feito com os utilitários shell básicos do UNIX?

    
por jknappen 17.02.2015 / 15:08

2 respostas

2

dê uma olhada em comm(1) .

o que você está procurando é

comm -13 file1 file2

ou

comm -3 file1 file2
    
por 17.02.2015 / 15:16
4

Seja o arquivo a.txt:

aaa
bbb
ccc

Deixa b.txt ser:

aaa
bbb
ccc
ddd
eee

Usando comm com -3 , você pode obter o resultado desejado:

comm -3 a.txt b.txt
ddd
eee
    
por 17.02.2015 / 15:17