码迷,mamicode.com
首页 > 其他好文 > 详细

grep与正则表达式

时间:2019-08-14 10:50:55      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:通配符   生成器   egrep   ace   程序   语法   文本   选项   通配   

1.grep程序

    Linux下有文本处理三剑客 --grep sed awk

    grep:文本行过滤工具

    sed:文本行编辑器(流编辑器)

    awk:报告生成器

 

    grep

      包含三个命令:gerp egrep fgrep ,它们是用来进行 行模式(pattern)匹配的

      ergep=grep -E //使用扩展的正则表达式进行匹配

      fgrep =fast grep //只是用文件通配符进行匹配

                  *grep默认使用正则表达式进行文本匹配*

    grep的用法:

      grep [option]...PATTERN [filename]

      a*(在文件通配符里表示以a开头的任意字符)

    grep的常见选项 -- option

      -E  支持使用扩展的正则表达式(ERE)(regexp)

      -P  使用per语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同甚至sed grep awk使用的regexp引擎也不相同)

      -f  指定文件

      -c  统计

      -i  忽略大写小写

      -v 进行反选

      -o 仅仅输出匹配的内容(默认输出的是匹配到的行)

      --color=auto 语法着色

                技术图片

 

      -n 显示行号

    PATTERN--正则表达式

      作用:通过一些特殊的字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,就需要\进行转义;

      1.字符匹配

          .任意一个字符(相当于文件通配符里?)

          [ ] 范围内的任意一个字符

          [^] 范围以外的任意一个字符

          字符类:[:digit:]  [:alnum:]  [:alpha:]  [:lower:]  [:upper:]  [:space:]  [:punct:]

      2.次数匹配

          *  匹配前面的字符0次到无数次

          \?匹配前面的字符0次到1次

          + 匹配前面的字符1次到n次

          \{m\} 匹配前面的字符m次

          \{m,n\} 匹配前面的字符m到n次

          \{0,n\}匹配前面的字符0次到n次

          \{m,\}匹配前面的字符至少m次

      3.位置锚定

          ^ 锚定行首

          $ 锚定行尾

          \b 锚定词首和锚定词尾

          \>锚定词尾

          \<锚定词首

              <\root\> rooter

      4.分组

          abc* abcccc  abc我们要看成一个整体

          \(\) 示例:\(abc\)* abcabcabc abcccc

          **分组特性:默认情况下,Linux系统会为分组指定变量,变量的表现形式\1\2 \3....          

          示例:\(ab+\(xy\)*\) 其中\1=ab+\(xy\)*,\2=xy

 

grep与正则表达式

标签:通配符   生成器   egrep   ace   程序   语法   文本   选项   通配   

原文地址:https://www.cnblogs.com/azuressy/p/11350428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!