我的机器使用的是 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更改。>