如何将Zimbra数据解析为CSV

如何将Zimbra数据解析为CSV,csv,awk,Csv,Awk,我对awk语言没有经验,但我需要将一些数据(Zimbra分发列表及其成员)转换为CSV格式。 我的数据如下所示: # distributionList zimbradladmins@example.com memberCount=0 zimbraMailAlias: zimbradladmins@example.com # distributionList monitoring@example.com memberCount=3 zimbraMailAlias: monitoring@exam

我对awk语言没有经验,但我需要将一些数据(Zimbra分发列表及其成员)转换为CSV格式。 我的数据如下所示:

# distributionList zimbradladmins@example.com memberCount=0
zimbraMailAlias: zimbradladmins@example.com

# distributionList monitoring@example.com memberCount=3
zimbraMailAlias: monitoring@example.com
zimbraMailForwardingAddress: Eatable@example.com
zimbraMailForwardingAddress: Boorish@example.com
zimbraMailForwardingAddress: Flawless@example.com

# distributionList all@example.com memberCount=10
zimbraMailAlias: all@example.com
zimbraMailForwardingAddress: Legal@example.com
zimbraMailForwardingAddress: Joyous@example.com
zimbraMailForwardingAddress: helpdesk@special.example.com
zimbraMailForwardingAddress: Crazy@example.com
zimbraMailForwardingAddress: Successful@example.com
zimbraMailForwardingAddress: operator@special.example.com
zimbraMailForwardingAddress: pawelm@example.com
zimbraMailForwardingAddress: tomaszb@example.com
zimbraMailForwardingAddress: wojciech@example.com
zimbraMailForwardingAddress: wojtekb@example.com
我希望在输出中实现的目标:

distributionList,member
zimbradladmins@example.com,
monitoring@example.com,Eatable@example.com
monitoring@example.com,Boorish@example.com
monitoring@example.com,Flawless@example.com
all@example.com,Legal@example.com
and so on...
正如您所看到的,DL没有任何成员(zimbradladmins@example.com). 如果是这样,CSV文件中应该没有值。
我将感谢您的帮助:)

使用awk,并依靠通缉邮件上方的评论行:

awk -F':? ' '
   BEGIN{print "distributionList,member"}         # print header
   /memberCount=0/{print $3,""}                   # print mail alias without user email
   /^# distributionList /{a=$3}                   # store mail alias
   $1=="zimbraMailForwardingAddress"{print a,$2}  # print mail alias and user email
' OFS=, file

请注意,脚本还打印行
zimbradladmins@example.com,

我认为不需要特别使用awk-安装在您机器上的任何工具都可以,对吗?是的。它可以是python,但不能是v2。这是邮件服务器(Debian),我不想安装默认设置中未包含的其他工具:)到目前为止您尝试了什么?