linux grep命令详解

grep命令是global regular expression print的缩写,它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模式子符串的文件名,并输出含有该字符串的文本行。

grep 命令格式:grep[options]

常用参数

-c:只输出匹配的计数

-I:不区分大小写

-h:查询多文件时不显示文件名

-l:查询多文件时只输出包含匹配字符的文件名。

-n:标出包含指定字符串的行编号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数

\:忽略正则表达式中特殊字符的原含义。

^:匹配正则表达式的开始行。

$:匹配正则表达式的结束行。

\<:从匹配正则表达式的行开始。

\>:到匹配正则表达式的行结束。

[]:单个字符,如[A]即A符合要求。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求。

。:所有的单个字符。

*:有字符,长度可以为0。

Grep命令选项 

-? 同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。

-b,--byte-offset 打印匹配行前面打印该行所在的块号码。 

-c,--count 只打印匹配的行数,不显示匹配的内容。

-f File,--file=File 从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。

-h,--no-filename 当搜索多个文件时,不显示匹配文件名前缀。

-i,--ignore-case 忽略大小写差别。

-q,--quiet 取消显示,只返回退出状态。0则表示找到了匹配的行。

-l,--files-with-matches 打印匹配模板的文件清单。

-L,--files-without-match 打印不匹配模板的文件清单。

-n,--line-number 在匹配的行前面打印行号。

-s,--silent 不显示关于不存在或者无法读取文件的错误信息。

-v,--revert-match 反检索,只显示不匹配的行。 

-w,--word-regexp 如果被引用,就把表达式做为一个单词搜索。

-V,--version 显示软件版本信息。

posted on 2016-04-19 20:42  ZQ园林  阅读(2526)  评论(0编辑  收藏  举报