Q1:我想编辑一个包含一组电子邮件 ID 的文件,以便所有域名都变得通用。
Example,
peter@yahoo.com
peter@hotmail.co.in
philip@gmail.com
to
peter_yahoo@generic.com
peter_hotmail@generic.com
philip_gmail@generic.com
我使用以下 sed cmd 将 @ 替换为 _
sed 's/@/_/' <filename>
有没有办法将另一个 sed cmd 附加到上面提到的 cmd 中,以便我可以用 @generic.com 替换域名的最后一部分?
Q2:如果我的域名末尾有文字,我该如何处理?
Example,
peter@yahoo.com,i am peter
peter@hotmail.co.in,i am also peter
To,
peter_yahoo.com@generic.com,i am peter
peter_hotmail.co.in@generic.com,i am also peter
我尝试了 @(,) 而不是 @(.*) 它不起作用,我想不出任何其他解决方案
Q3:假设我的例子是这样的,
peter@yahoo.com
peter@hotmail.co.in,i am peter
我希望我的结果如下,
peter_yahoo.com@generic.com
peter_hotmail.co.in@generic.com,i am peter,i am peter
如何使用单个 sed cmd 执行此操作?
以下 cmd 将导致,
sed -r 's!@(.*)!_\1@generic.com!' FILE
peter_yahoo.com@generic.com
peter_hotmail.co.in,i am peter,i am peter@generic.com
以下 cmd 无法在“peter@yahoo.com”上运行,
sed -r 's!@(.*)(,.*)!_\1@generic.com!' FILE
谢谢!!