在 /var/spool/postfix 中使用egrep不会返回任何结果

在 /var/spool/postfix 中使用egrep不会返回任何结果

我的机器使用的是 CentOS 7.1。我正在尝试搜索 中的所有文件/var/spool/postfix

我试图实现这一目标的方法是:

$ egrep -lir --include="*.*" "[email protected]" ./ > /root/results.txt

然而,该搜索总是返回空(results.txt已创建,但内部没有任何内容)。认为 、@或可能有问题--include,我将搜索减少为:

$ egrep -lir "somedomain.com" ./ > /root/results.txt

但这也没有给出任何结果。我确信至少有一个文件包含我要查找的字符串,因此 *.txt 中应该至少有一个结果。

如何使用 找到包含所需字符串的文件egrep如果这不可能,欢迎使用任何其他搜索方法。

为什么我需要这个/背景

由于电子邮件帐户和密码选择不当,该机器被用来发送大约 50 万条垃圾邮件,这些邮件很快开始反弹,填满了硬盘。令人反感的电子邮件帐户已被删除,机器已离线,现在我正试图在/var/spool/postfix/defer和中的所有电子邮件中寻找特定的电子邮件/var/spool/postfix/deferred

我想我可以使用 的变体mailq > /root/results.txt,但我想使用egrep, grep, find或任何其他返回已过滤结果的命令来执行此操作。

答案1

GNUgrep可以使用开关进行正则表达式搜索-E,因此无需使用egrep.

我会做以下事情:

$ grep -rilE '[email protected]' . | tee /root/results.txt

如果您不想通过终端查看结果,可以| tee用 a更改。>

参考

相关内容