使用 grep 或 sed 从文本中删除电子邮件地址的开头

使用 grep 或 sed 从文本中删除电子邮件地址的开头

我有一个包含以下内容的文本文件:

约翰·史蒂文森 Johnnyboy34[电子邮件保护]0320423\n Mike Anderson AndersMike[电子邮件保护]0234234

我如何从电子邮件地址中删除“文本”部分,如下所示:[text]@company.foo,但除此之外保持文件不变?

答案1

这个怎么样?

echo -e John Stevenson Johnnyboy34 [email protected] 0320423\\n Mike Anderson AndersMike [email protected] 0234234 | sed -r -e 's/((\w|[.])+)@/@/g'

得出的结果是:

John Stevenson Johnnyboy34 @company.com 0320423
 Mike Anderson AndersMike @mikeltd.foo 0234234

相关内容