Linux之shell脚本正则

正则表达式

用于搭配脚本或者命令使用极大的丰富了脚本的功能,所以在这里我们把它也归·为shell脚本的一部分(作者个人为了方便大家看才这么分类的)。正则表达式就是通过特殊的符号或者命令来对需要处理数据进行筛选或者加工。

类型 含义 示例 说明
^ 匹配行首 ^abc 以abc开头的行
$ 匹配行为 $abc 以abc结尾的行^$空行
. 单个字符 . 除了换行(\n)外的任意字符5
+ 最少匹配一次 a+ 一个或多个a
最多匹配一次 a? 0个或1个a
* 匹配任意次 * 任意的东西
[] 集合 grep [a] 搜索a
[^] 集合取反 grep[^a] 搜索没有a的
{} 数字查询 ro\{2,3\} 搜索以r开头o匹配2到3次
\b 单词边界 the\b the后面不许有别的东西
\w 匹配的内容+数字字母下划线 roo\w 匹配roo加字母数字下划线的组合
\s 匹配空白 \s 匹配含有空格tab的行
\d 匹配数字 \d 兼容性较差不管

通配符 ".*"匹配任意字符

R 复制代码
egrep  25[0-9]  user   #匹配user内的250-259
egrep  1?[0-9]?[0-9]   user   #匹配0-199

扩展正则

python 复制代码
grep "ro\{1,2\}t" user        #找rt,中间的o可以有1~2个
grep "ro\{2,6\}t" user        #找rt,中间的o可以有2~6个
grep "ro\{1,\}t" user            #找rt,中间的o可以有1个以及1个以上
grep "ro\{3\}t" user             #找rt,中间的o必须只有有3个
grep "\(0:\)\{2\}" user        #找连续的2个0:  小括号的作用是将字符组合为一个整体

//扩展后


扩展后要给开头加e或者给grep后面加 -E
egrep "ro{1,2}t" user        #找rt,中间的o可以有1~2个
egrep "ro{2,6}t" user        #找rt,中间的o可以有2~6个
egrep "ro{1,}t" user            #找rt,中间的o可以有1个以及1个以上
egrep "ro{3}t" user             #找rt,中间的o必须只有有3个
egrep "(0:){2}" user        #找连续的2个0:  小括号的作用是将字符组合为一个整体
R 复制代码
egrep "root|bin"  user     #查找root或bin
egrep "the\b" user         #查找the并且后面没有任何符号
egrep "\bthe\b" user       #前后都没的
egrep "\<the\>" user       #同上
相关推荐
FJW02081413 分钟前
【Linux】web服务器的部署和优化
linux·运维·服务器·rhce
Linux运维老纪19 分钟前
Python文件操作及数据库交互(Python File Manipulation and Database Interaction)
linux·服务器·数据库·python·云计算·运维开发
weixin_4307509320 分钟前
智能小助手部署 Win10 + ollama的Deepseek + CentOS+ maxKB
linux·人工智能·机器学习·语言模型·自然语言处理·centos
有谁看见我的剑了?28 分钟前
docker 运行时权限和 Linux 能力了解
linux·docker·容器
平生不喜凡桃李31 分钟前
Linux 进程控制
linux·运维·服务器
hope_wisdom31 分钟前
Linux系统编程之内存映射
linux·mmap·内存映射·munmap
偶尔微微一笑1 小时前
sgpt在kali应用
linux·人工智能·python·自然语言处理
余辉zmh1 小时前
【Linux系统篇】:信号的生命周期---从触发到保存与捕捉的底层逻辑
android·java·linux
鱼与宇1 小时前
Linux常用命令
linux·运维·服务器
鱼丸丶粗面1 小时前
Python 读取 txt 文件详解 with ... open()
linux·数据库·python