grep的常用格式:grep [option] “pattern” [file]
含义:在file文件中查找pattern
-V:版本信息
Matcher Selection(匹配器选择):
-E :开启扩展(Extend)的正则表达式。可以写为egrep
-F:可以写为fgrep
-G:basic regular expression
-P:perl regular expression
Matching Control(匹配方式控制):
-e [pattern]:以-e后面的内容作为pattern
-f [file]:以file中每一行依次作为pattern
-i:忽略大小写
-v:反向输出,将不包含结果的行输出
-w:输入完整匹配并不与其他字符串相连接的行。即不与letters、digits、the underscore相连接
-x:输出只包含pattern的行,此行中无其他内容
-y:-i的老式写法
General output control(输出方式控制):
-c:只显示有pattern的具体行数,不显示内容
--corlor[=WHEN]:WHEN可以是never、always、auto。使输出结果带有颜色
-L:输出不包含pattern的文件名
-l:输出包含pattern的文件名
-m NUM:每个待搜索文件中搜索的具体数目,达到相应数目后即停止搜索
-o:只输出包含pattern的行的pattern内容,不输出该行的多余内容
-q:不输出任何内容。不是太明白为什么要搞这个功能。。。
-s:不输出不存在的或者不可读的文件
Output line prefix control(输出前缀控制):
-b:从0开始数直到待搜索项的字符个数,包含结尾的换行符,写在输出行的前面
-H:将匹配内容的文件名打印出来,写在行的前面
-h:行前不打印出文件名
--label=LABEL:这个没看懂
-n:从1开始,直至带有搜索项的行号显示出来
-T:用空格代替前缀内容
-u:以unix-style输出
-Z:filename之后紧跟搜索输出内容
Context line control:
-A NUM:显示搜索项之后n行的内容
-B NUM:显示搜索项之前n行的内容
-C NUM:显示搜索项前后n行的内容
--group-separator=SEP:以SEP作为分组器
--no-group-separator:不进行分组
File and directory selection:
-a:以text形式处理binary file
-binary-files=TYPE:by default,TYPE is binary。
-D ACTION:ACTION可以是read或者skip。如果input file is a device,用ACTION处置
-d ACTION:ACTION可以是read\skip\recurse。如果input file is a directory,用action处置
--exclude=GLOB:名称符合GLOB,不搜索
--exclude-from=FILE:不搜索名称与FILE内容符合的文件
--exclude-dir=DIR:不搜索符合DIR文件夹文件
-I:--binary-files=without-match
--include=GLOB:只搜索名称符合GLOB
-r:递归,读取每个文件夹下的文件
-R:递归,读取每个文件夹下的文件
Other option:
--line-buffered:
-U:以binary处理
-z:显示文件所有内容,并且内容紧跟在filename后面