需要帮助 grepping postfix 日志

uxp*_*eak 4 freebsd postfix grep logging

我正在尝试根据已知字符串(收件人地址)在日志中搜索未知字符串(消息 ID),然后对未知字符串进行 grep 以输出整个相关日志信息。我可以使用 grep 和 cut 来输出未知的字符串,但是从那里我很难将它传递给 grep。我使用了一个管道到 xargs grep 并且没有产生我正在寻找的输出。这是我用来 grep 和 cut 的命令:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6
Run Code Online (Sandbox Code Playgroud)

这将生成 Postfix 为 emailaddress 处理的消息的所有未知字符串的输出。当我通过管道传输到 xargs 时,我收到“grep:: 没有这样的文件或目录:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | xargs grep /var/log/maillog
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

Mar*_*enz 5

我一直在玩弄自己的邮件日志。尝试

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog
Run Code Online (Sandbox Code Playgroud)

-f -将读取字符串列表,从标准输入搜索。