这个问题是看了很多文章总结而得,还没有了解shell编程的朋友们可以来看看,自己的一些见解,欢迎指出错误和不足。话不多说,我们直接进入主题!
如何直接用命令匹配邮箱地址?
首先我们要知道常见的邮箱格式:
1) 邮箱必须有一个@
2) 邮箱@前缀由数字或字母开头,即 [a-zA-Z0-9]@
3) 邮箱@前缀2由多个字母、数字、短横线-、下划线_、英文句号.组成,即 [a-zA-Z0-9][a-zA-Z0-9-._]+@ (+表示重复1到多次)
4) 邮箱@后缀由两级或三级域名组成,其中每个域名中间由英文句号“.”隔开, 而每级域名都是由字母或数字组成,即@([a-zA-Z0-9]+\.[a-zA-Z0-9]{1,2}+$,{}表示作为一个整体重复1到2次
接下来我们进行实操,先利用vi手动新建一个文件email.txt,存两个邮箱地址,一个合格另一个不合格,后续用以验证正则表达式。
【root@localhost ~】vi email.txt
##输入i后就可以手动输入你想要的内容
##完成后ESC + :+ wq 保存退出
查看一下当前的email.txt内容