grep家族

grep家族由命令grep、egrep和fgrep组成。

grep:在文件中全局查找指定的正则表达式,并且打印所有包含该表达式的行。
egrep和fgrep是grep的变体。
egrep:grep的扩展,提供更多正则表达式元字符支持。
fgrep:固定grep或快速grep,它按字面解释所有字符,即不会处理正则表达式元字符。

  • grep

优点:不需要启动编辑器就可以执行查找操作,也用不着把正则表达式括在正斜杠中,使用grep比使用vi得多。

grep命令在一个或多个文件中查找某个字符模式。
grep命令中,模式可以是一个被引号括起来的字符串,也可以是单个词,位于模式之后的所有单词都被视为文件名。如果这个模式中包含空格,就必须用引号把它括起来。
grep将输出发送到屏幕,它不会对输入文件进行任何修改或变化。

grep使用的正则表达式元字符:

元字符

功能

示例

^

行首定位符

/^love/

$

行尾定位符

/love$/

.

匹配单个字符

/l..e/

*

匹配零个或多个字符

/ *love/

[ ]

匹配一组字符中的一个

/[Ll]ove/

[x-y]

匹配指定范围中的一个字符

/[A-Z]ove/

[^ ]

匹配不在指定组中的字符

/[^A-Z]/

\

转义元字符

/love\./

元字符

功能

示例

\<

词首定位符

/\<love/

\>

词尾定位符

/love\>/

\(..\)

匹配稍后将要使用的字符的标签

/\(love\)able\1er/

x\{m\}或

x\{m,\}或

x\{m,n\}

字符x的重复出现:

m次、

至少m次、

至少m次且不超过n次

o\{5,10\}

 

grep的退出状态:
grep命令在shell脚本中很有用,因为它总会返回一个退出状态,以说明能否定位到要查找的模式或文件。
如果找到了模式,grep返回的状态为0,表示成功。
如果找不到模式,返回1作为退出状态。
当找不到文件时,返回2作为推出状态。



posted @ 2017-09-05 14:14  Lune-Qiu  阅读(220)  评论(0编辑  收藏  举报