您的位置:首页 > 运维架构 > Shell

shell脚本--grep与正则表达式

2020-02-06 06:56 736 查看

1、grep程序
         Linux下有文本处理三剑客 --grep、sed、awk
               grep:文本 行过滤工具
               sed: 文本 行编辑器(流编辑器)
               awk: 报告生成器(做文本输出格式化)

               grep:
                   包含三个命令:grep、egrep、fgrep,它们是用来进行 行模式(pattern)匹配的
                   egrep = grep -E //使用扩展的正则表达式进行匹配
                   fgrep = fast grep //只使用文件通配符进行匹配
                   *grep默认使用正则表达式进行文本匹配*

               grep的用法:
                   grep [option]...PATTERN [filename]

               grep的常见选项--option:
                   -E  支持使用扩展的正则表达式(ERE)(regexp)
                   -P  使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed、awk、使用的regexp引擎也不一样)
                   -i  忽略大小写
                   -v  进行反选
                   -o  仅仅输出匹配的内容(默认输出的是匹配到的行)
                   --color=auto  语法着色
                   -n  显示行号
                   -w  匹配固定的单词

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

               回顾:文件通配符(globbing)
                   *任意字符 ?任意单个字符 [] 括号内的任意单个字符 [^]:取反

               1、字符匹配
                    .  任意一个字符
                   []  范围内任意单个字符
                   [^]  范围外任意单个字符

               2、次数匹配
                   *     匹配前一个字符0次到n次
                   \?    匹配前一个字符0次到1次
                    \+    匹配前一个字符1次到n次
                    \{m\}  匹配前一个字符m次
                   a\{7\}  aaaaaaa
                    \{m,n\} 匹配前一个字符m到n次
                   \{m,\}  匹配前一个字符至少m次

               3、位置锚定
                    ^    锚定行首
                    $    锚定行尾
                    \b   锚定单词词首和锚定词尾
                    \>   锚定词尾
                    \<   锚定词首

转载于:https://www.cnblogs.com/4443056bdH/p/11354133.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
dichuangao1745 发布了0 篇原创文章 · 获赞 0 · 访问量 33 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: