我只是在Centos / home / user / mail / new中的用户帐户下find了一大堆电子邮件
我打开了他们中的一些,发现他们是从一个特定的cron工作发出的。 发件人地址是[email protected] 。 我需要找出所有这些电子邮件是否由[email protected]发送 – 这是约30GB的电子邮件。 有没有一种方法来刷出一个唯一的发件人列表的列表? 电子邮件的格式是这样的:
返回path:
- 用perl / awk / sed预加string?
- 在虚拟主机的定义中使用正则expression式
- 如何使用find命令清除所有文件的内容
- sed regexp / d删除整个文件
- grep模式匹配不区分大小写
交货date:星期四,2011年8月11日04:34:02 -0400
收到:从本地用户hostname.com(Exim 4.69)
(信封来自)
id 1QrQiI-0004qM-6V
为[email protected]; 星期四,11八月2011 04:34:02 -0400
来自:[email protected](Cron守护进程)
主题:Cron /opt/gsn/reports/pr.sh
内容types:text / plain; 字符集= UTF-8
自动提交:自动生成
邮件ID:
date:2011年8月11日(星期四)04:34:02 -0400
[信息内容]
$ grep -E '^From:' /some/file | uniq
要获得电子邮件总数,请运行:
grep从:/ home / user / mail / new | wc -l
从根目录获得电子邮件的数量,运行这个
grep ^ From / home / user / mail / new | grep root \ @ hostname.com | wc -l
现在(总电子邮件) – (来自根目录的电子邮件)=总电子邮件的实际电子邮件数量。
尝试这个:
awk '/^From: / { print $2 }' /home/user/mail/new | sort | uniq -c | sort -rn
这不是一个文件,每个电子邮件大约20K,总邮件达30G。
awk '/^From: / { print $2 }' /home/user/mail/* | sort | uniq -c | sort -rn