Criando uma lista de remetentes exclusivos a partir dos arquivos de mensagens do Thunderbird através da linha de comando

2

Eu tenho algumas caixas de correio grandes e usando o Thunderbird, isso significa que eu tenho vários arquivos mbox . Esses arquivos únicos contêm todos os e-mails em uma pasta específica. Agora, gostaria de obter alguns dados sobre os remetentes em uma pasta específica. Minha estatística ideal seria obter todos os remetentes exclusivos e o número de vezes que seus e-mails estão nessa pasta. Ej:

  • John A: 10x
  • Maria B: 5x

Eu tentei algumas opções de grep , mas também obtive cabeçalhos X se apenas grep 'De:', e não tenho certeza de como excluir esses outros cabeçalhos. Alguém tem alguma ideia se isso pode ser feito a partir da linha de comando?

    
por user 12.06.2012 / 05:18

1 resposta

4

Primeiro, precisamos obter o cabeçalho From , o que pode ser feito com uma expressão regular grep restritiva.

% grep --no-filename --ignore-case '^From:' test.eml
From: [email protected]

Em seguida, precisamos contar o número de ocorrências, o que pode ser feito com uniq -c (que requer uma lista ordenada).

% grep --no-filename --ignore-case '^From:' *.eml | sort | uniq --count
      1 From: [email protected]
      3 From: [email protected]

Podemos classificar a saída por ocorrência, para obter as mais frequentes no topo.

% grep --no-filename --ignore-case '^From:' *.eml | sort | uniq --count | sort --general-numeric-sort --reverse
      3 From: [email protected]
      1 From: [email protected]
    
por 12.06.2012 / 06:25