提取标题中某些域的一组maildirs中的所有消息

我有一个邮件服务器(运行Exim MTA / MDA,Dovecot用于IMAP访问),大约有50个用户,大约100GB的总数据(包括一些大的账户,一些不存在的账户等)。 邮件全部存储在Maildirs中。 我们突然需要提取所有邮件头(To,From,Cc等)包含less数几个域名的邮件,以满足我们律师的要求。

现在,我可以把一个效率低下的解决scheme(grep -R通过邮件存档为所讨论的域进行剪切,sorting和uniq来获取不同的文件名,将所有这些文件复制到一个新的Maildir中,然后从中取出在那里,也许),但是这将花费很长时间在可用的硬件上运行。 那里有没有一个工具可以为我消除这个过程的痛苦?

平台不是一个大问题 – 所讨论的服务器运行Ubuntu 12.04,但是我可以在运行任何合理的计算机上安装的数据的最新快照 – 并且没有要求解决scheme是FOSS,虽然指示性软件预算在数百乃至数千英镑之内。

我怀疑有一个非常明显的答案,谷歌没有向我展示,可能是因为我有错误的search条件 – 任何人都有这样的经验?

谢谢!

grep确实是这个工作的工具:

 grep -Rli "^to: .*@yourdomain" /your/maildir/ | sort | uniq -u 

将产生一个独特的文件名sorting列表。

你没有从.dotted目录得到结果的原因是,“grep *”扩展到所有的文件和目录不是以点开头; 这与grep无关。 相反,将上面的maildir目录的名称传递给grep,并让它执行文件search: grep -R /your/maildir/

编辑:不是所有的grep二进制文件都有-P编译,但在这种情况下你不需要它,所以我删除它。