马哥Linux学习笔记5-2grep及正则表达式

  • grep
    Linux文本处理三剑客:
    grep:文本过滤(模式:pattern)工具
    grep(正则表达式),egrep(扩展正则表达式),fgrep(不支持正则表达式);
    sed stream editor,文本编辑工具;
    awk Linux上的实现gawk(三个作者名字首字母组成),文本报告生成器。
  • grep:Global search regular expression and print out the line.
    作用:文本搜索工具,根据用户指定的模式对目标文本逐行进行匹配检查:打印匹配到的行。
    模式:有正则表达式字符及文本字符所编写的过滤条件。
    REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能。
    分两类:1基本正则表达式:BRE grep
    2扩展正则表达式:ERE egrep,grep -E
    正则表达式引擎:用来检查表达式是否适用被处理的文本信息,检查匹配与否。
    选项:
    –color=auto 对匹配的文本进行着色显示
    -v 显示不能被pattern匹配到的行
    -i 忽略字符大小写
    -o 仅显示匹配到的字符串本身only
    -q 静默模式,不输出任何多余信息
    -A # 后#行after
    -B # 前#行before
    -C # 前后各多少行,context
    -E 使用ERE
  • 基本正则表达式元字符(正则表达式中具有特殊意义的字符):
    1字符匹配 .匹配任意单个字符,[]匹配指定范围内的任意单个字符,[^]匹配指定范围外的任意单个字符;
    2匹配次数用在要指定次数的字符后面,用于指定前面的字符要出现的次数 匹配前面的字符任意次, .*任意长度的任意字符,\?匹配其前面的字符0或1次,即前面的可有可无, \+匹配其前面的字符至少一次,\{m\}匹配前面的字符m次,\{0,n\}匹配前面的字符至多n次,\{m,\}匹配前面的字符至少m次;
    正则表达式工作于贪婪模式
    3位置锚(mao第二声)定
    ^ 行首锚定
    $ 行尾锚定
    ^PATTERN$:用于模式匹配整行 ^¥表示空行
    <或\b 词首锚定:用于单词模式的左侧
    >或\b 词尾锚定:用于单词模式的右侧
    <PATTERN> 匹配整个单词
    4分组\ ( \ ) 将一个或多个字符捆绑在一起作为一个整体
    note:分组括号中的模式匹配到的内容会被正则表达式殷勤记录与内部的变量中,这些变量的命名方式为:\1,\2,\3…
    \1:从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符 \ ( ab \ +\ (xy\ )
    \ ):\1是ab\ +\ (xy\ ),\2是xy
    后向引用:引用前面的分组括号中的模式所匹配的字符(而非模式本身)。

猜你喜欢

转载自blog.csdn.net/weixin_43024834/article/details/87568978