文本处理三“贱”客之grep

grep 可是文本处理三贱客之文本过滤的一种工具,功能异常强大。在文本搜索上面必用工具,基本使用方法是通过命令+管道交给grep命令搜索,并且有许多程序也支持grep的正则表达式模式。首先说说作用:grep 根据用户指定的“模式”对目标文件里面的文本逐行进行搜索,然后打印匹配到的行!grep 使用文本字符及正则表达式来编写搜索条件,正则表达式是由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配功能。

其实大家可以把正则表达式想象成一种特殊字符代表着某种意义,来对文本进行模糊搜索,或者进行修改。正则表达式分为两类:①基本的正则表达式、②扩展的正则表达式。其实到后面会解析基本和扩展的正则表达式的,大家先别急其实很简单。现在就说说基本的命令用法咯!

grep [OPTIONS] PATTERN [FILE……]
选项              模式           文件

其实选项里面有很多 google 一搜一大把不过我还是说几个常用的吧:

–color=auto 在centos7中默认记得是没有高亮颜色匹配的吧,这玩意可以修改匹配到的字段进行着色。
-i 忽略字母大小写
-o 不显示多余的字符串,只显示匹配到的字符串
-A、-B、-C 后面跟上# 来表示匹配到的字符串行加上后、前、前后 #行
-E 使用扩展的正则表达式


说好了选项然后讲讲最关键的正则表达式的元字符。元字符还有可以分为四类:

(1)字符匹配,包括:. [] [^] 还能使用专用字符集合,类似glob。关于每个元字符的意义可以google 搜索哦!
(2)匹配次数:用于要制定的次数的字符后面,用于指定前面字符要出现的次数。包括:*  .*  \?  \+  \{m\}  \{m,n\}
(3)位置锚定:用于定位字符串必须在某个位置进行匹配。包括:^  $  ^PATTERN  \<  \>  \<PATTERN>
(4)分组: 就是将一个或多个字符捆绑在一起,当作一个整体进行处理,元字符:\(字符\)  注:分组括号中的模式匹配到的内容被正则表达式引擎记录于内部的变量中,可以进行后向引用,如:第一个组可以使用 \1 第二个使用 \2 如此类推。

正则表达式说完了接下来就是扩展的正则表达式,使用egrep命令。其实就是grep -E这个命令代替。其实扩展的正则表达式和正则表达式是差不多的,就是有些元字符去除了\这个字符。

比如:\{m\} 匹配前面的字符m次,这个是正则表达式元字符的表示方法。{m}这个也是匹配前面的字符m次 不过这个是扩展的正则表达式元字符的表示方法。

 

Comments

Leave a Reply

Your email address will not be published. Name and email are required