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       #同上
相关推荐
云资源服务商2 小时前
解锁阿里云日志服务SLS:云时代的日志管理利器
服务器·阿里云·云计算
绝不偷吃2 小时前
ELK日志分析系统
运维·elk·jenkins
朱包林3 小时前
day45-nginx复杂跳转与https
linux·运维·服务器·网络·云计算
孙克旭_3 小时前
day045-nginx跳转功能补充与https
linux·运维·nginx·https
孞㐑¥4 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
Hacker_Oldv5 小时前
软件测试(功能、工具、接口、性能、自动化、测开)详解
运维·自动化
Java樱木5 小时前
使用字节Trae + MCP,UI 到网页自动化。
运维·自动化
柳鲲鹏5 小时前
WINDOWS最快布署WEB服务器:apache2
服务器·前端·windows
无敌暴龙兽z8 小时前
离线环境安装elk及设置密码认证
运维·elk
M4K08 小时前
Linux百度网盘优化三板斧
linux