Linux文本处理工具grep命令详解
Linux文本处理工具grep命令详解
一:grep的简介:
文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,显示能够被模式所匹配到的行。配合正则表达式的使用可以实现强大的文本处理。下面一一说明正则的例子。
二:文本处理工具分类
常用的有:grep,egrep,fgrep。
区别:
grep:在没有参数的情况下,只输出符合RE(Regular Expression)字符。
egrep:等同于grep -E,和grep最大的区别就是表现在转义符上比如grep 做次数匹配时\{n,m\}egrep则不需要直接{n,m}。egrep方便,简介。
fgrep:等同于grep -f,但是不能使用正则表达式。所有的字符匹配功能均已消失。
三:grep参数说明:
格式:grep [OPTIONS] PATTERN(模式) [FILE...]
常用选项:
--color=auto:显示颜色的参数。
-n:输出行号。
-v:反向匹配,显示不能被模式所匹配到的行。比如指定root,匹配的就不是root。
例子:
-o:仅显示被模式匹配到的所指定的字符。
-i:不区分大小写字符。
-A #:不但能匹配到指定的字符那一行。而且字符后面所指定的n行也能显示出来。
-B #:不但能匹配到指定的字符那一行。而且字符前面所指定的n行也能显示出来。
-C #:不但能匹配到指定的字符那一行。而且字符前后所指定的n行也能显示出来。
为了方便我把grep --color=auto定义一个别名,别名为cgrep。方便使用。后续直接使用cgrep 就能显示颜色了。
alias cgrep="grep --color=auto"
四:常用的字符匹配和实例:
只要使用字符匹配和一些元字符的时候,必须用引号引起来;
引号用单引或双引都即可。
.:任意单个字符,指的就是一个点代表1个字符。这个字符不特殊指分,符号也行。
[]:指定范围内的任意单个字符。这个括号中指定的字符都能匹配出来,匹配范围广。
[^]:指定范围外的任意单个字符,和上面[]这个想法。取反。通俗的意思就是括号中所指定的字符,就匹配不到了。
|
评论暂时关闭