通过命令行从 Thunderbird 邮件文件创建唯一发件人列表

通过命令行从 Thunderbird 邮件文件创建唯一发件人列表

我有一些大型邮箱并使用 Thunderbird,这意味着我有多个mbox文件。这些单个文件包含特定文件夹中的所有电子邮件。现在,我想获取特定文件夹中发件人的一些数据。我理想的统计数据是获取所有唯一的发件人,以及他们的电子邮件在该文件夹中的次数。埃杰:

  • 约翰 A:10x
  • 玛丽亚乙:5x

ETC。

我尝试了一些grep选项,但如果我仅 grep 'From:',我也会得到 X-headers,并且我不确定如何排除这些其他标头。有人知道这是否可以从命令行完成吗?

答案1

首先,我们需要可靠地获取From标头,这可以使用限制性 grep 正则表达式来完成。

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

接下来我们需要计算出现的次数,这可以通过uniq -c(这需要一个排序列表)。

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

然后,我们可以按出现次数对输出进行排序,以将最频繁的出现在顶部。

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

相关内容