因为芯片前端涉及到很多脚本的使用,目的是调用脚本对文本的操作。常用的脚本文件有makefile, perl, tcl, python.
而了解到grep是一个linux下强大的文本搜索工具。这个命令能帮我们按照正则表达式搜索文本,然后打印出来。
命令格式
grep "match_pattern" filename
正则表达式总结
下面按照用法分为5类
- 与行首尾有关
^放前面表示行首, $放后面表示行尾。
符号 |
用法 |
^ |
锚定行的开始 如:'^grep'匹配所有以grep开头的行 |
$ |
锚定行的结束 如:'grep$' 匹配所有以grep结尾的行 |
- 与匹配字符有关。
.表示任意字符, 表示先前字符。所以.表示任意字符。
符号 |
用法 |
. |
匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p |
* |
匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行 |
.* |
一起用代表任意字符 |
- 与匹配的范围有关。
用方括号表示字符的范围,只要hit一个就算命中。这里用^表示取反。(这个逻辑有点反人类)
符号 |
用法 |
[] |
匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep |
[^] |
匹配一个不在指定范围内的字符,如:'[^A-Z]rep' 匹配不包含 A-Z 中的字母开头,紧跟 rep 的行 |
- 与字符重复次数有关。
符号 |
用法 |
x |
重复字符x,m次,如:'0{5}'匹配包含5个0的行 |
x |
重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行 |
x |
重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行 |
- 不常用,因为grep要找的字符都很明确,
符号 |
用法 |
\w |
匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p |
\W |
\w的反置形式,匹配一个或多个非单词字符,如点号句号等 |
总结:上面总结了正则表达式的用法,包括行首行尾,通用字符,字符范围,字符重复次数。虽然查找文本时,文本都很明确,但是学习正则表达式的常用用法也十分有必要。后面会总结perl, python, tcl等脚本。
参考文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)