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
打印匹配行前后的几行,包括匹配行
如上若有多个匹配,则用--分隔开

关于本篇内容如有转载请注明出处;技术内容的探讨、纠错,请发邮件到70907583@qq.com
原文地址:https://www.cnblogs.com/watertaro/p/9221063.html