Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SED匹配sql转储中的电子邮件并替换它们_Sql_Regex_Sed_Grep - Fatal编程技术网

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

使用SED匹配sql转储中的电子邮件并替换它们,sql,regex,sed,grep,Sql,Regex,Sed,Grep,我正在尝试从一个SQL转储文件中删除电子邮件,我需要一些建议。我这样做是因为我想发送一些开发人员“基本正确”的信息,而不共享实际的用户信息。我有一个逐行循环的BASH脚本,所以我尝试对INSERT语句进行SED替换。我需要遍历dumb,因为我还有一些其他的清理工作,正在工作。我有一些有效的正则表达式(我想),但我似乎无法将其放入SED中。正则表达式: '(.*@.*?)' 将匹配'emailname@emaildomain.com’,但我很难将它输入SED,我相信有更好的正则表达式。这是我的示

我正在尝试从一个SQL转储文件中删除电子邮件,我需要一些建议。我这样做是因为我想发送一些开发人员“基本正确”的信息,而不共享实际的用户信息。我有一个逐行循环的BASH脚本,所以我尝试对INSERT语句进行SED替换。我需要遍历dumb,因为我还有一些其他的清理工作,正在工作。我有一些有效的正则表达式(我想),但我似乎无法将其放入SED中。正则表达式:

'(.*@.*?)'
将匹配'emailname@emaildomain.com’,但我很难将它输入SED,我相信有更好的正则表达式。这是我的示例行

'firstname','emailname@emaildomain.com','lastname'
我希望无论何时我有一个带引号的@之间的empty@invalid'. 如有任何建议,将不胜感激。

请尝试:

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

我用更具体的
[*@']*
替换了您的
*
,它只匹配没有任何单引号的字符串
@
,这是必需的,因为
sed
是贪婪的。

通常这句话
我有一个循环的BASH脚本。
意味着您在某个地方出轨了。如果您发布一些示例输入和预期输出,我们可以帮助您正确操作。编辑:打字:将“更具体的
[*@']*
”更改为“更具体的
[^@']*
”。