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。

例子:

wKioL1MIHK6TlnGTAACw_QxfDkw998.jpg

-o:仅显示被模式匹配到的所指定的字符。

wKiom1MIHUOzTGMtAACLRr7pHMA854.jpg

-i:不区分大小写字符。

wKioL1MIHWyRJyP9AAB3s4CgboM627.jpg

-A #:不但能匹配到指定的字符那一行。而且字符后面所指定的n行也能显示出来。

 

wKiom1MIHf6jG84lAAGdsrKmpr0438.jpg

-B #:不但能匹配到指定的字符那一行。而且字符前面所指定的n行也能显示出来。

wKioL1MIHhrTp3JpAAFXTD87u48734.jpg

-C #:不但能匹配到指定的字符那一行。而且字符前后所指定的n行也能显示出来。

wKioL1MIHlLwYAUVAAICF1VA3ks162.jpg

为了方便我把grep --color=auto定义一个别名,别名为cgrep。方便使用。后续直接使用cgrep 就能显示颜色了。

alias cgrep="grep --color=auto"

四:常用的字符匹配和实例:

只要使用字符匹配和一些元字符的时候,必须用引号引起来;

引号用单引或双引都即可。

.:任意单个字符,指的就是一个点代表1个字符。这个字符不特殊指分,符号也行。

wKiom1MIH6axCP00AAH9Galy_kY985.jpg

[]:指定范围内的任意单个字符。这个括号中指定的字符都能匹配出来,匹配范围广。

wKiom1MIIMvzqrVdAADDvyN0EyQ531.jpg

[^]:指定范围外的任意单个字符,和上面[]这个想法。取反。通俗的意思就是括号中所指定的字符,就匹配不到了。

wKioL1MIISKSt0fpAABoa57tS1s788.jpg

  • 1
  • 2
  • 3
  • 下一页

相关内容