juremy420

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

因为芯片前端涉及到很多脚本的使用,目的是调用脚本对文本的操作。常用的脚本文件有makefile, perl, tcl, python.
而了解到grep是一个linux下强大的文本搜索工具。这个命令能帮我们按照正则表达式搜索文本,然后打印出来。

命令格式

grep "match_pattern" filename # 意思是指在filename里检索"match_pattern"这个文本+

正则表达式总结

下面按照用法分为5类

  1. 与行首尾有关
    ^放前面表示行首, $放后面表示行尾。
符号 用法
^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行
$ 锚定行的结束 如:'grep$' 匹配所有以grep结尾的行
  1. 与匹配字符有关。
    .表示任意字符, 表示先前字符。所以.表示任意字符。
符号 用法
. 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p
* 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行
.* 一起用代表任意字符
  1. 与匹配的范围有关。
    用方括号表示字符的范围,只要hit一个就算命中。这里用^表示取反。(这个逻辑有点反人类)
符号 用法
[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep
[^] 匹配一个不在指定范围内的字符,如:'[^A-Z]rep' 匹配不包含 A-Z 中的字母开头,紧跟 rep 的行
  1. 与字符重复次数有关。
符号 用法
x 重复字符x,m次,如:'0{5}'匹配包含5个0的行
x 重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行
x 重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行
  1. 不常用,因为grep要找的字符都很明确,
符号 用法
\w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p
\W \w的反置形式,匹配一个或多个非单词字符,如点号句号等

总结:上面总结了正则表达式的用法,包括行首行尾,通用字符,字符范围,字符重复次数。虽然查找文本时,文本都很明确,但是学习正则表达式的常用用法也十分有必要。后面会总结perl, python, tcl等脚本。
参考文章

posted on 2023-08-30 11:36  Juremy-420-bling  阅读(19)  评论(0编辑  收藏  举报