sed '/\(.*\..*\)\{4,\}/d'
上面提到的命令识别行中的每个点......
它也识别 @ 符号后的点。例如,结果中甚至显示如下内容:[电子邮件保护]
您能帮我修改上述命令,使得只有 @ 的左侧才计算超过 3 个的点,而忽略电子邮件右侧字符 @ 后面的点吗?
例如:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
我希望以下在@字符左侧带有多个点(3个或更多点)的行仅作为识别器并从文件中删除。
[email protected]
[email protected]
[email protected]
有哪位专家能指点一下如何修改上述 SED 命令吗?谢谢
答案1
我不是专家,但要删除左侧的 4 个点(或更多)图案,@
您只需@.*
在表达式末尾添加:
sed '/\(.*\..*\)\{4,\}@.*/d'
@
意思是不管右边是什么字符,都删除左边的4个点(或更多)的图案。