shell脚本--正则练习
1.不打印空行和注释行
grep -v -E '^#|^$' elasticsearch.yml
2.正则的特殊字符
?: "?"前面的字符只允许出现一次或者零次
[root@manager1 shell]# echo "aaa@qq.com"|grep -E 'a{3}@?qq\.com' aaa@qq.com [root@manager1 shell]# echo "aaaqq.com"|grep -E 'a{3}@?qq\.com' aaaqq.com [root@manager1 shell]#
+: "+"前面的字符至少出现一次或者多次
[root@manager1 shell]# echo "aaaqq.com"|grep -E 'a{3}@+qq\.com' [root@manager1 shell]# echo "aaa@qq.com"|grep -E 'a{3}@+qq\.com' aaa@qq.com
*: "*"前面的字符可以出现0次或者多次
[root@manager1 shell]# echo "aaa@qq.com"|grep -E 'a{3}@*qq\.com' aaa@qq.com [root@manager1 shell]# echo "aaaqq.com"|grep -E 'a{3}@*qq\.com' aaaqq.com
| (管道符|):"|"类似于逻辑或or,可以用来过滤多个数据块
[root@manager1 shell]# echo "aaa#qq.com"|grep -E 'a{3}[@|#]qq\.com' aaa#qq.com [root@manager1 shell]# echo "aaa@qq.com"|grep -E 'a{3}[@|#]qq\.com' aaa@qq.com
()组合代码块: "()"可以将多个字符组合成一个代码块
[root@manager1 shell]# echo "aaaa@qq.com"|grep -E '^(aa){2}[@|#]qq\.com' aaaa@qq.com
{}:"{}"可以指定字符串或者代码块重复几次或者几到几次,使用','来指定范围
[root@manager1 shell]# echo "aa@qq.com"|grep -E '^(aa){1,2}[@|#]qq\.com' aa@qq.com [root@manager1 shell]# echo "aaaa@qq.com"|grep -E '^(aa){1,2}[@|#]qq\.com' aaaa@qq.com [root@manager1 shell]# echo "aaaaaa@qq.com"|grep -E '^(aa){1,2}[@|#]qq\.com'
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步