6

我正在寻找一种方法来用 xxx@xxx.xxx 替换文件中的所有电子邮件地址正确的方法。谢谢。

4

3 回答 3

4

这是使用的一种粗略方法sed -r

sed -r 's/^(.*? |)[^@]+@[^ ]+/\1xxx@xxx.xxx/g' file

在 BSD(例如 OSX)上使用这个变体:

sed -E 's/(^|.* )[^@]+@[^ ]+/\1xxx@xxx.xxx/g' file

但请记住,如今电子邮件地址可能会有很大差异。

于 2013-08-21T11:00:36.820 回答
3

以下对我有用:

sed "s/[^@ ]*@[^@]*\.[^@ ]*/xxx@xxx.xx/g" file

适用于以下file

charly.chaplin@web.de has an address
so has axel.springer@bild.de
and finally henry@kissinger.info and other stuff

该命令C:\Temp>d:sed "s/[^@ ]*@[^@]*\.[^@ ]*/xxx@xxx.xx/g" file让我知道:

xxx@xxx.xx has an address
so has xxx@xxx.xx
and finally xxx@xxx.xx and other stuff
于 2013-08-21T12:20:37.033 回答
1

这会部分混淆电子邮件地址:

sed -E 's/[a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_]@[a-zA-Z0-9_][a-zA-Z0-9_]/xxxx@xx/g'

我发现这更容易开发。自动化测试现在可以测试特定的电子邮件地址。

于 2020-05-18T14:31:58.737 回答