码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习之路-grep和正则表达式的应用

时间:2015-08-29 17:14:43      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:grep 正则表达式



grep和正则表达式的应用


Linux文本处理三剑客:

       grep:文本过滤工具;

       sed:文本编辑器(行);stream editor

       awk:文本报告生成器;Linux上awk的实现为gawk

 

grep: Global search REgular expression and Print out theline.

        作用:文本搜索工具,根据用户指定的“模式(pattern)”逐行去搜索目标文本,打印匹配到的行;

        模式:由正则表达式的元字符及文本字符所编写的过滤条件;

 

grep [OPTIONS] PATTERN [FILE...]

        选项:

            --color=auto:对匹配到的串做高亮显示;

            -v:显示模式匹配不到的行;

            -i:忽略字符大小写;

            -o:仅显示能够被模式匹配到的串本行,而且每匹配到的一个就分一行,可以方便统计次数;

            -q: 静默模式;

            -E:使用扩展的正则表达式;

基本正则表达式分2类:

基本正则表达式:BRE

            扩展正则表达式:ERE

基本正则表达式的元字符:(字符不表示其字面意义,而用于表示通配或控制功能)

            字符匹配:

                .:匹配任意单个字符;

                []:匹配指定范围内的任意单个字符;

                [^]:匹配指定范围内的任意单个字符;

 

                [:lower:],[:upper:], ...

 

            次数匹配:用于要指定其次数的字符的后面,只能用于前一个字符;

                *:任意次;

                    abxy

                    xay

                    xxxxxxxy

 技术分享

 

                \?:0或1次;

       技术分享      

 

                \+:1或多次;

                \{m\}:精确限制为m次;

                \{m,n\}:至少m次,至多n次,[m,n]

                    \{0,n\}:至多n次;

                    \{m,\}:至少m次;

        技术分享   

                .*:匹配任意长度的任意字符;

        技术分享   

            位置锚定:

                ^:行首锚定;用于模式的最左侧;

                $:行尾锚定;用于模式的最右侧;

                \<,\b: 词首锚定;用于表示单词的模式的左侧;

                \>,\b:词尾锚定;用于表示单词的模式的右侧;

                ^$:空白行;

 

            分组:\(\)

 

                分组的小括号中的模式匹配到的内容,会在执行过程中被正则表达式引擎记录下来,并保存内置的变量中;这些变量分别是\1, \2, ...

                    \1:从左侧起,第一个左括号,以及与之配对的右括号中间的模式所匹配到的内容;

                    \2

                    ...

 

                后向引用:使用变量引用前面的分组括号中的模式所匹配到的字符;


本文出自 “天真小同志” 博客,请务必保留此出处http://dengxi.blog.51cto.com/4804263/1689496

Linux学习之路-grep和正则表达式的应用

标签:grep 正则表达式

原文地址:http://dengxi.blog.51cto.com/4804263/1689496

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