Você pode usar a ferramenta padrão diff
com alguns scripts.
Para os dois arquivos de exemplo, diff
puro será exibido:
4c4,6
< 1004, Erin
---
> 1003, Dolores
> 1004, Edward
O <
significa "linha removida", a linha >
"adicionada". Basta filtrar por >
para obter todas as linhas que estão no segundo arquivo, mas não no primeiro:
$ diff a.csv b.csv |grep '>'|cut -c 3-
1003, Dolores
1004, Edward
(a parte cut
filtra o primeiro >
). Você poderia colocar isso em um script.
Observação: o acima pressupõe que você tem diff
, grep
& cut
instalado. Eles são padrão no Linux e no Mac OS X (eu acredito); para o Windows, você precisaria do Cygwin ou similar.