已排序的电子邮件没有线程

时间:2016-02-16 19:32:20

标签: bash shell scripting

我使用mh mailclient,现在我买了新的笔记本电脑。我的电子邮件超过10 GB,当我与新笔记本电脑同步时,一个好主意让目录变得干净。

我的想法是删除所有没有线程的邮件。当我看到没有线程的文件时,错过了References:和In-Reply-To:in header。我认为在标题中搜索没有引用和In-Reply-To的所有文件时,如果没有跟随其他文件可以删除相同主题。

示例:

1。)没有线程

From: someone
Date: Fri, 13 Feb 2004 10:45:02 +0000
Subject: grub Error 15: File not found
Message-ID: <s02caadf.033@fsldn03.london.int.cre.gov.uk>

2。)带线程(第一封邮件)

From: someone
Date: Wed, 10 Feb 2016 13:30:50 -0800
Subject: [lfs-support] isl library and ld SEARCH_DIR
Message-ID: <messageid>

3。)回答

From: bruce.dubbs at gmail.com (Bruce Dubbs)
Date: Wed, 10 Feb 2016 15:57:42 -0600
Subject: [lfs-support] isl library and ld SEARCH_DIR
In-Reply-To: <in-reply-to>
References: <references>
Message-ID: <id>

所以正常都可以在没有引用和回复的情况下删除,也可以没有相同的主题。有人有想法是有人用这种方式编写程序吗?或者有想法如何用bash重新定位?

谢谢你的帮助 西尔维奥

1 个答案:

答案 0 :(得分:-1)

我很少尝试使用find和exec命令。现在已经在标题中使用“In-Reply-To”过滤了所有邮件,并将它们mv到其他文件夹。

siefke@sisibox ~/Downloads $ ls -l lfs/ | wc -l
48015

find lfs/ -type f -exec grep -q "In-Reply-To" {} \; -exec mv {} reply/ \;

现在,电子邮件分为以下几种。

siefke@sisibox ~/Downloads $ ls -l lfs/ | wc -l
17915

siefke@sisibox ~/Downloads $ ls -l reply/ | wc -l
30101

现在,这将很难。如何从文件夹lfs中的文件中读取主题并与文件夹中的文件进行比较?有没有命中,文件应该移动到文件夹回复。然后在文件夹LFS中只包含没有回复的文件,没有线程。

这里有人有办法吗?

美好的一天 西尔维奥