linux - 如何删除电子邮件中包含三个以上点的行?

标签 linux

我们如何删除电子邮件地址中超过三个点的行? 我们如何使用 sed 命令执行此操作?

例如:

fgtc21_pk@yahoo.com
bhchemitex@chemitex.com
hjcindysun48@hotmail.com
hhconsult_sa.jan.2020@yahoo.com
s.ing.song.lan.g.ju.n.55.l@gmail.com
VB.t.o.t.all.y.f.it.s.19.99@gmail.com
a.lice.i.n.wonde.r.lnd.2.1.f@gmail.com

我想从文件中删除以下带有多个点(3 个或更多点)的行。

s.ing.song.lan.g.ju.n.55.l@gmail.com
VB.t.o.t.all.y.f.it.s.19.99@gmail.com
a.lice.i.n.wonde.r.lnd.2.1.f@gmail.com

最佳答案

sed '/^\(.*\..*\)\{3,\}@/d'

从行的开头匹配零个或多个任意字符,然后是一个点,然后是零个或多个任意字符,3 次或更多次,然后匹配 @ 符号。删除匹配的行。

关于linux - 如何删除电子邮件中包含三个以上点的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54295800/

相关文章:

linux - 如何在linux shell中创建一个不被Ctrl-C杀死的僵尸进程?

linux - Docker: "From"指令的好处?

c - 在epoll上看到两个accept事件

linux - 如何根据另一列过滤矩阵

linux - 操作系统内核是否以与 IPC 相同的方式与进程通信?

linux - 如何避免定义的 seconds() 方法和 ptime seconds(default) 方法的冲突?

Linux Mint 更新 GPG 错误

linux - 如何用新行显示阅读提示

c - stdlib.h 没有 putenv 的声明

.net - 如何从网络程序集调用shell脚本