正则表达式

正则表达式

正则表达式匹配的的是文本内容,

由一类特殊字符以及文本字符所编写的一个模式,模式又来匹配文件当中内容(字符).

检验我们输入的内容是否满足规定,格式,长度等等要求

主要用来匹配文本内容,命令的结果也可以用正则表达式

通配符:只用能用于匹配文件名和目录名,不能匹配文件的内容和命令结果

表达式

一般和grep配合使用

基本正则 元字符匹配

. 任意单个字符,也可以是一个汉字

复制代码
ls | grep '.'

\ 转义符

复制代码
ls | grep '\.'	还是所搜点号

\] 匹配指定范围内的任意单个字符或者数字 grep '[a-b]' xy102.txt \[ \] 匹配空格 grep '[ ]' xy102.txt \[\^\] 取反 grep '^a' xy102.txt 除了a之外都显示 \^# grep '^#' xy102.txt 以#号开头的 \^$ 空行 grep '^$' xy102.txt \*匹配前面的字符任意次,0次也算 贪婪模式,尽可能的匹配 但goo,最多只能再多一位 例如grep 'gooi8\*' 再多一位就不能了 grep 'gooi88\*' echo gggle | grep 'g*' echo ggle | grep '1*gle' .\* 匹配前面的任意字符,至少要有1次,匹配所有,但至少要有一个 echo ggle | grep '2.*gle' 以2开头的gle,至少得有1个 ? 匹配前面的字符0次或者1次,可有可无 echo gole | grep 'o\?le' \\+ 匹配的字符至少要有一次 echo gole | grep 'o\+le' \\{n\\} 匹配前面的字符=n次,或者小于n,不能大于n,而且前面的字符要连续出现 grep 'a\{5\}' test1.txt \\{m,n\\} 匹配前面的字符至少m次,至多n次,也需要是连续出现,超出的不在匹配范围 grep 'a\{2,5\}' test1.txt \\{,n\\} 匹配前面的字符最多N次 \\{,n\\} 匹配前面的字符最少N次 ## 扩展正则 1、显示/etc/passwd中以sh结尾的行; cat /etc/passwd \|grep -E '(sh)$' ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png) 2、查找/etc/inittab中含有"以s开头,并以d结尾的单词"模式的行; cat /etc/inittab \| grep -E '\\bs\[a-zA-Z\]\*d\\b' ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png) 3、查找ifconfig命令结果中的1-255之间的整数; ifconfig\|grep -E '(\\b1\[0-9\]\[0-9\]\\b)\|(\\b2\[0-9\]\[0-9\]\\b)\|(\\b\[0-9\]\[0-9\]\\b)\|(\\b\[1-9\]\\b)' ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png) 4、在/etc/passwd中取出默认shell为bash的行; cat /etc/passwd\|grep -E 'bash$' ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png) 5、高亮显示passwd文件中冒号,及其两侧的字符 cat /etc/passwd\|grep -E '.?😗:.?' ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png) 片转存中...(img-n2dmPNaM-1719234125285)

5、高亮显示passwd文件中冒号,及其两侧的字符

cat /etc/passwd|grep -E '.?😗:.?'

外链图片转存中...(img-aYlRvxQs-1719234125285)

相关推荐
Maki Winster9 分钟前
Peek-Ubuntu上Gif录制工具-24.04LTS可装
linux·ubuntu·peek
一只fish1 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(16)
数据库·mysql
Maki Winster1 小时前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu
守望时空331 小时前
Linux下KDE桌面创建自定义右键菜单
linux
l0sgAi2 小时前
vLLM在RTX50系显卡上部署大模型-使用wsl2
linux·人工智能
叁沐2 小时前
MySQL 07 行锁功过:怎么减少行锁对性能的影响?
mysql
麟城Lincoln3 小时前
【RHCSA-Linux考试题目笔记(自用)】servera的题目
linux·笔记·考试·rhcsa
Java烘焙师3 小时前
架构师必备:业务扩展模式选型
mysql·elasticsearch·架构·hbase·多维度查询
飞翔的佩奇3 小时前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
寻月隐君3 小时前
保姆级教程:Zsh + Oh My Zsh 终极配置,让你的 Ubuntu 终端效率倍增
linux·后端·命令行