我有很多数据,我试图用CSV分割.我的源数据具有以下格式:
* USER 'field1' 'mail1@domain.com' 'field3'
* USER 'field1' 'mail2@domain.com' 'field3'
* USER 'field1' 'mail3@domain.com' 'field3'
Run Code Online (Sandbox Code Playgroud)
以下是我想要输出的内容:
field1;mail1@domain.com;field3
field1;mail2@domain.com;field3
field1;mail3@domain.com;field3
Run Code Online (Sandbox Code Playgroud)
规则:
* USER 在线的开头必须明显剥离;field1并且field3可以是电子邮件地址,也可以包含';field1 可能是空的 '''在字段本身的开头和结尾处.我的想法是剥离* USER(sed -e 's/^* USER //'可能是一个起点),然后在"中心"字段中"找到"邮件,然后将左侧和右侧捕获到两个变量中.最后一件事应该是'在变量上开始和结束.不幸的是,我没有这个级别的sed或awk知识.关于如何实现这一点的任何想法?
这是一个例子
* USER '' 'alberto.cordini@generaligroup.com' 'CORDINI ALBERTO'
* USER 'moglie delmonte daniele' 'anna.borghi@rpos.com' 'Anna Borghi'
* USER '' 'annamaria.cravero@generaligroup.com' 'CRAVERO ANNA MARIA'
* USER '' 'patrizia.dagostino@generaligroup.com' 'D'AGOSTINO PATRIZIA'
* USER …Run Code Online (Sandbox Code Playgroud)