我从中得到了这个纯文本,我想删除所有电子邮件地址(或替换为 E)。我想将其他所有内容保留在文本文件中。电子邮件地址后可以跟空格、冒号、分号、问号或感叹号。我使用 gnuwin 并尝试了 grep 但没有得到正确的结果
grep -Eiv "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b" in.txt > out.txt
这将删除包含电子邮件模式的每一行。我只希望电子邮件消失。
谢谢
最佳答案
要替换,请使用 sed
而不是 grep
:
sed -r 's/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b//Ig' in.txt > out.txt
关于regex - 删除电子邮件模式,使用 grep、awk 或 sed 保留其余模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29517164/