红联Linux门户
Linux帮助

Linux命令学习笔记

发布时间:2007-09-25 10:39:18来源:红联作者:JinXian
家里的电脑很烂,没有Linux.只能上班的时候继续了。

今天重新学下grep.

grep找到匹配的行.

-A NUM, --after-context=NUM 当找到匹配行的时候,打印匹配行下面的行,行数由NUM指定.

-a, --text 像文本一样处理2进制文件.和--binary-files=text等效

-B NUM, --before-context=NUM 当找到匹配行的时候,打印匹配行上面的行,行数由NUM指定.

-C NUM, --context=NUM 相当与-A 和-B的组合使用,打印匹配行前后的NUM行,以及匹配行.

-b, --byte-offset 显示匹配文字在文件里的字节偏移

--binary-files=TYPE grep 命令默认会去从2进制文件里去匹配的,当找到匹配的文字,会显示一个2进制文件匹配的字样,如果加上without-match 则不会去匹配2进制,--binary-files=without-match 等效于-I(大i) 如果为text则等效于-a会去匹配2进制文件

--colour[=WHEN], --color[=WHEN] 该参数会指定有颜色来显示匹配的文字.

-c, --count 来显示查找的每个文件有几个匹配的数字. -v则显示每个文件的未匹配的.

-D ACTION, --devices=ACTION 如果文件为一个设备,比如FIFO,或者socket,用ACTION去处理它.默认ACTION为read,意味着这些设备也要象普通文件一样去处理.如果ACTION为skip的话,那么这些设备就会被跳过.

-d ACTION, --directories=ACTION 如果文件为一个目录,则用ACTION指定的方式去处理该目录,默认ACTION为read,意味着目录的处理要像普通文件一样去处理,如果ACTION为skip,则遇到目录就会被跳过,如果ACTION为recurse,则grep要递归的去处理每个目录,相当于-r

-E, --extended-regexp 用扩展的正则表达式 相当于用egrep 例如grep -ErI 'include|catch' ./ 查找有include和catch的匹配

-e PATTERN, --regexp=PATTERN 指定匹配 比如grep -Ire "printf" --color ./

-F, --fixed-strings 解析表达式用PATTERN 像一个匹配的列表,(这里没翻译明白).用新的换行符分割,任意一个被匹配的.

-P, --perl-regexp 用perl能认识的表达式匹配.

-f FILE, --file=FILE 指定要去查找的文件

-G, --basic-regexp 基本的正则表达式,这个是默认的.

-H, --with-filename 显示匹配文字的文件名

-h, --no-filename 不显示文件名

--help 帮助

-I(大i) 不匹配2进制文件.相当于--binary-files=without-match

-i, --ignore-case 忽略大小写

-L, --files-without-match 只打印没有匹配的文件名

-l, --files-with-matches,打印匹配的文件名 例如grep -rIil "printf" ./ (大i,小l)

-m NUM, --max-count=NUM 当找到NUM个匹配后停止. 这个时候-c -v仍然有效,不过统计的数字不会超过NUM

--mmap 如果可能的话,用系统调用mmap去读到内存来处理,来提高速度.

-n, --line-number 显示出行号.

-o, --only-matching 只显示匹配的文字.
文章评论

共有 2 条评论

  1. 奶茶dsk 于 2007-09-25 16:18:13发表:

    :0L :0L ,学习下。。。

  2. gxf 于 2007-09-25 12:51:11发表:

    学习了,受益匪浅……