Emails em CSV B que não estão em CSV A

2

Eu tenho duas listas de endereços de e-mail CSV (Lista A e B). Nosso pessoal de marketing acidentalmente enviou um e-mail para as pessoas da Lista A em vez de combinar as duas listas antes de enviá-las.

Um email precisa ser enviado para pessoas da Lista B que não estavam na Lista A.

Como posso descobrir qual email está na lista B que não está na lista A? Eu escrevi um script PHP, mas para fins educacionais e quando os caras do marketing fazem o mesmo acidente novamente, eu gostaria de saber se existem comandos linux para fazer isso em vez de executar um script PHP. (Eu sei que eu poderia apenas executar o script, mas tenho certeza que há uma maneira melhor).

Encontrei a seguinte solução, mas combina as listas em vez de mostrar qual email está na Lista B e não na Lista A: Como juntar dois arquivos CSV?

    
por iDev247 19.06.2012 / 21:23

2 respostas

4

Você poderia tentar

cat {A,A,B}.csv | sort | uniq -u

cat imprime o conteúdo de ambos os arquivos, sort classifica a saída (obviamente) e uniq -u exclui todas as entradas duplicadas (deixando apenas aquelas com uma ocorrência) se você tiver uma entrada dupla em uma das entradas listas ele será apagado, claro, então você tem que garantir antes, que você não faz. Como apontado por Ben Voigt nos comentários, você precisa cat A duas vezes para garantir a exclusão de todas as entradas.

Você pode acrescentar >> C.csv à linha de comando para gravar o conteúdo em um arquivo.

cat {A,A,B}.csv | sort | uniq -u  >> C.csv
    
por 19.06.2012 / 21:32
1

Você pode importar para o Excel / OpenOffice, etc.

  • Combine as duas listas em uma. (colar as duas listas em uma única coluna)

  • Selecione todos os endereços nesta coluna.

  • Use o conditional formatting para, digamos, destacar apenas os valores exclusivos .

  • sort por essa formatação condicional.

por 19.06.2012 / 21:41

Tags