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'

 

posted @   什么都不会的小郭  阅读(224)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2018-01-08 调整linux进程优先级
点击右上角即可分享
微信分享提示