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

grep与正则表达式

时间:2019-08-15 21:19:07      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:转译   ali   地址   去掉   显示   情况   命令   通配符   正则表达   

grep与正则表达式

1、grep程序

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

   grep : 文本行过滤工具

    包含三个命令:grep egrep fgrep,他们是用来惊醒行模式匹配的

      egrep  = grep -E  //使用拓展正则表达式进行匹配

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

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

    用法:

      grep [option] ... PATTERN [文件名]

    常见选项(opton):

      -E  //支持使用拓展的正则表达式(ERE

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

      -f  //指定文件

      -i  //忽略大小写

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

      -n  //显示行号

      -v  //反选

      --color=auto  // 语法着色

      -w  // 匹配固定的单词显示所在行

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

 

  awk : 报告生成器(做文本输出格式化)

 

2、PATTERN -- 正则表达式

作用:

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

  11字符匹配

    .  // 任意一个字符

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

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

  12次数匹配

    *  // 匹配前面的字符0次到n

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

    \+  // 匹配前面字符1次到n

    \{m\}  // 匹配前面的一个字符m

    \{m,n\}  // 匹配前一个字符mn

    \{0,n\}  // 匹配前面的字符0次到n次(0必须加)

    \{m,\}  // 匹配前面一个字符至少m

  13位置锚钉

    ^  // 锚定行首

    $  // 锚定行尾

    \b  //锚定词首或词尾(用在前面为词首,后面为词尾)

    \>  // 锚定词尾

    \<  // 锚定词首

  14分组

    特性:

      默认情况下,Linux系统会为分组指定变量,变量的表示形式\1 \2 \3 ...(后向 引用)

    abc*  // 我们把abc看成一个整体

    \(\)  // 将里面的看作是一个整体进行匹配

    补充:

      扩展正则表达式分组用“()”表示;

      标准正则表达式中的\”可以去掉;

  技术图片

 

技术图片

*匹配IP地址的正则表达式:

技术图片

grep与正则表达式

标签:转译   ali   地址   去掉   显示   情况   命令   通配符   正则表达   

原文地址:https://www.cnblogs.com/yxq-123/p/11360415.html

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