我想过滤mailq
(后缀)返回的一些邮件I。然而,这种格式并不是非常“grep友好”,因为单个邮件的信息跨越多行:
9F701869D2 1356 Mon Aug 23 12:13:43 some@sender
(host some.host[1.2.3.4] said: 450 4.1.1 some error message)
some@recipient
9437586CF4 3153 Sat Aug 21 09:36:40 some@other.sender
(host some.host[1.2.3.4] said: 450 4.1.1 some error message)
some@other.recipient
例如,在发生某些特定错误代码的情况下,获得所有邮件ID的最简单方法是什么?也许通过删除(单行)换行符,然后是grep
ing,然后是cut
ing?还是用其他更合适的工具?
请解释一下你的答案。我的主要兴趣不是针对当前问题的复制和粘贴解决方案(通过错误代码进行过滤),而是了解如何轻松地解析这样的多行输出。
发布于 2010-08-25 12:12:58
发布于 2022-04-27 14:17:35
发布于 2019-12-04 11:23:33
只要您能够找到用于隔离发送方或接收方地址的东西,便可以使用awk解析mailq:
mailq | grep @ | awk {'print $7'}
https://serverfault.com/questions/174309
复制相似问题