使用SED匹配sql转储中的电子邮件并替换它们

时间:2014-02-15 16:42:30

标签: sql regex sed grep

我正在尝试从SQL转储文件中清除电子邮件,我可以使用一些建议。我这样做是因为我想向一些开发人员发送“大多数正确”的信息,而不是共享实际的用户信息。我有一个逐行循环的BASH脚本,所以我试图在INSERT语句上进行SED替换。我需要迭代愚蠢,因为我有一些其他擦洗的东西,这是有效的。我有一些正常的正则表达式(我认为),但我似乎无法将其纳入SED。正则表达式:

'(.*@.*?)'

将匹配'emailname@emaildomain.com',但我无法进入SED,我确信有更好的REGEX。这是我的示例行。

'firstname','emailname@emaildomain.com','lastname'

我希望只要我的@引号之间有'empty @ invalid'就可以替换。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试:

sed "s/'[^@']*@[^@']*'/'empty@invalid'/g"

我已使用更具体的.*替换了您的[*@']*'仅匹配具有任何单引号@或{的字符串需要{1}},因为sed 贪婪