这是我的PHP代码,用于替换文件中的所有电子邮件:
$pattern = "/[[A-Z0-9._%+-]+[ ]?[\(]?(@|at)[\)]?[ ]?[A-Z0-9.-]+[ ]?[\(]?(\.|dot)[)]?[ ]?[A-Z]{2,4}/i";
$string = preg_replace($pattern, "cs@test.nl", $file );
这是工作。我必须提到文件很大。它是从db导出的。我需要这个正则表达式在sed命令中使用它:
sed -r -i 's/[[A-Z0-9._%+-]+[ ]?[\(]?(@|at)[\)]?[ ]?[A-Z0-9.-]+[ ]?[\(]?(\.|dot)[)]?[ ]?[A-Z]{2,4}/i/cs@test.nl/g'
显然这不起作用。有人可以更正sed命令以使其工作吗? thx
答案 0 :(得分:0)
您只需在替换后将i
修饰符移动到正确的位置。
sed -r -i 's/[[A-Z0-9._%+-]+[ ]?[\(]?(@|at)[\)]?[ ]?[A-Z0-9.-]+[ ]?[\(]?(\.|dot)[)]?[ ]?[A-Z]{2,4}/cs@test.nl/ig'