我正在尝试从SQL转储文件中清除电子邮件,我可以使用一些建议。我这样做是因为我想向一些开发人员发送“大多数正确”的信息,而不是共享实际的用户信息。我有一个逐行循环的BASH脚本,所以我试图在INSERT语句上进行SED替换。我需要迭代愚蠢,因为我有一些其他擦洗的东西,这是有效的。我有一些正常的正则表达式(我认为),但我似乎无法将其纳入SED。正则表达式:
'(.*@.*?)'
将匹配'emailname@emaildomain.com',但我无法进入SED,我确信有更好的REGEX。这是我的示例行。
'firstname','emailname@emaildomain.com','lastname'
我希望只要我的@引号之间有'empty @ invalid'就可以替换。任何建议都将不胜感激。
答案 0 :(得分:1)
尝试:
sed "s/'[^@']*@[^@']*'/'empty@invalid'/g"
我已使用更具体的.*
替换了您的[*@']*
,'
仅匹配不具有任何单引号@
或{的字符串需要{1}},因为sed
贪婪。