一、grep命令介绍

命令格式:grep [-cinvABC] ‘word’ filename,常用选项如下:

  • -c:表示打印符合要求的行数。
  • -i:表示忽略大小写。
  • -n:表示输出符合要求的行及其行号。
  • -v:表示打印不符合要求的行。
  • -A:后面跟一个数字(有无空格都可以),例如-A2表示打印符合要求的行以及下面两行。
  • -B:后面跟一个数字,例如-B2表示打印符合要求的行以及上面两行。
  • -C:后面跟一个数字,例如-C2表示打印符合要求的行以及上下各两行。

Linux操作_grep/egrep工具的使用_操作

 

二、过滤出带有某个关键词的行,并输出行号

Linux操作_grep/egrep工具的使用_操作_02

说明:前面的数字显示为绿色,表示行号。

 

三、过滤出不带有某个关键字的行,并输出行号

Linux操作_grep/egrep工具的使用_Linux_03

 

四、过滤出所有包含数字的行

Linux操作_grep/egrep工具的使用_Linux_04

说明:只要有一个数字就算匹配到了。

 

五、过滤出所有不包含数字的行

Linux操作_grep/egrep工具的使用_命令_05

说明:只要包含一个数字,就不显示。

 

六、过滤掉所有以#开头的行

Linux操作_grep/egrep工具的使用_正则表达式_06

说明:这里面是包含有空行的。

 

七、过滤掉所有空行和以#开头的行

Linux操作_grep/egrep工具的使用_正则表达式_07

在正则表达式中,^表示行的开始,$表示行的结尾,^$表示空行。

 

如何打印出不以英文字母开头的行?示例如下:

Linux操作_grep/egrep工具的使用_操作_08

说明:如果要过滤数字就用[0-9]这样的形式(当遇到类似[15]的形式时表示只含有1或者5)。如果要过滤数字以及大小写字母,则要写成类似[0-9a-zA-Z]的形式。另外,[^字符]表示除[ ]内字符之外的字符

注意:把^写到方括号里面和外面是有区别的。

 

八、过滤出任意一个字符和重复字符

Linux操作_grep/egrep工具的使用_操作_09

.表示任意一个字符。上例中,r.o表示把r与o之间有一个任意字符的行过滤出来。

Linux操作_grep/egrep工具的使用_Linux_10

*表示零个或多个*前面的字符。上例中,ooo*表示oo、ooo、oooo...或者更多的o。

Linux操作_grep/egrep工具的使用_Linux_11

上例中,.*表示零个或多个任意字符,空行也包含在内,它会把/etc/passwd文件里面的所有行都匹配到。

 

九、指定要过滤出的字符出现字数

Linux操作_grep/egrep工具的使用_操作_12

说明:符号{ },其内部为数字,表示前面的字符要重复的次数

注意(划重点):{ }左右都需要加上转义字符\。另外,使用“{ }”还可以表示一个范围,具体格式为{n1,n2},其中n1 < n2,表示重复n1到n2次前面的字符,n2还可以为空,这时表示大于等于n1次。

 

十、过滤出一个或多个指定的字符(开始使用egrep命令)

Linux操作_grep/egrep工具的使用_操作_13

说明:egrep命令使用的是符号+,它表示匹配1个或多个+前面的字符,这个“+”不支持被grep命令直接使用;{ }可以直接被egrep使用,而不用加 \ 转义。例如:

Linux操作_grep/egrep工具的使用_正则表达式_14

 

十一、过滤出零个或一个指定的字符

Linux操作_grep/egrep工具的使用_命令_15

 

十二、过滤出字符串1或者字符串2

Linux操作_grep/egrep工具的使用_命令_16

 

十三、egrep中( )的使用

Linux操作_grep/egrep工具的使用_命令_17

说明:这里用( )表示一个整体,上例中会把包含rooo或者rato的行过滤出来。

 

另外说明:还可以把( )和其他符号组合在一起,例如:

Linux操作_grep/egrep工具的使用_Linux_18

 

作者:Zoctopus_Zhang
         
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
    
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子里和园子外的大大们指正错误,共同进步。或者直接私信我 (^∀^)
    
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
Linux操作_grep/egrep工具的使用_正则表达式_19

您的资助是我最大的动力!
金额随意,欢迎来赏!

Linux操作_grep/egrep工具的使用_操作_20

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

如果,想给予我更多的鼓励,求打

本博客的所有打赏均将用于博主女朋友的化妆品购买以及养肥计划O(∩_∩)O。我是【~不会飞的章鱼~】!

联系或打赏博主【~不会飞的章鱼~】!https://www.cnblogs.com/OctoptusLian/