linux中grep/egrep的使用

grep也是linux中查找的一个利器,运维、程序员必掌握的

 

下面针对grep的参数进行说明:

--color 
重点标记匹配到项
grep "a word" datafile --color=auto

 

-E
grep使用正则表达式,也可直接用egrep
grep -E "a.e" datafile

 

-o
只输出匹配到的文本部分
grep -E "a.e" datafile
只显示awe,不显示一行内容

 

-v
显示除了匹配到行之外的其他行
grep -v My datafile
不显示包含My的行,其他行都显示

 

-c
统计包含匹配字符串的行数(不是匹配次数)
grep -c My datafile
打印匹配次数,可以使用如下方法:
grep -o My datafile|wc -l

 

-n
同cat一样,打印出行号,多个文件时在最前面打印文件名
grep -n My datafile1 datafile2
datafile1:3:My name is Han
datafile2:1:where My bag

 

-b
显示匹配字符的偏移量,和-o一起使用
grep -bo My datafile

 

-l和-L
在搜索多个文件时使用
-l显示哪个搜索文件里包含匹配项
-L显示哪些文件中不包含匹配项
grep -l My datafile

 

-r和-R
意思相同,即递归查询目录中所有文件/目录
grep -r My .
在当前目录下查找包含My的文件


-i
忽略大小写
grep -i My datafile
在datafile中搜索my/My/MY/mY

 

-e
匹配多个样式
grep -e My -e Your datafile
查找包含My和Your的行,同如下语句:
grep -E "My|Your" datafile

 

-f
查找给定文件中的匹配项
grep -f file datafile

 

--include/exclude
在/不在某些文件中查找
grep "main" -r --include *.{c,cpp}

 

-q
静默输出,不打印出来。若匹配到则为0

 

-A
打印匹配行后面的几行,包括匹配行


-B
打印匹配行前面的几行,包括匹配行


-C
打印匹配行前后的几行,包括匹配行
如上若有多个匹配,则用--分隔开

posted @ 2018-06-24 17:15  水里的芋头  阅读(227)  评论(0编辑  收藏  举报