Linux grep命令

1. grep命令介绍

GREP是Global search Regular Expression and Print out the line的简称,即全面搜索正则表达式并把行打印出来。GREP是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,greap也是Linux中最广泛使用的命令之一。本文主要介绍grep命令,并简略介绍grep命令族中的其他命令用法。

2. grep命令基本用法

grap命令是支持正则表达式的一个多用途文本搜索工具,grep的一般格式为:

grep [选项] [模式] [文件...]

grep命令由选项、模式和文件三部分组成,它在一个或多个文件中搜索满足模式的文本行,模板后的所有字符串被看做文件名,文件名可以有多个,搜索的结果被打印到屏幕。

grep命令的选项及其意义如下:

选项 意义
-c  只输出匹配行的数量
-i   搜索时忽略大小写
-h 查询多文件时不显示文件名
-l 只列出符合匹配的文件名,而不列出具体的匹配行
-n 列出所有的匹配航,并显示行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行
-r   递归搜索,不仅搜索当前工作目录,而且搜索子目录
-E   支持扩展的正则表达式
-F 不支持正则表达式,按照字符串的字面意思进行匹配
... ...

 

 

 

 

 

 

 

grep命令的模式十分灵活,可以是字符串,也可以是变量,还可以是正则表达式。需要说明的是,无论模式是何种形式,只要模式中包含空格,就需要使用双引号将模式引起来,如果不加双引号,空格后的单词容易被误误认为是文件名。

---经在Ubuntu上尝试,不用空格也是可以成功搜索的,只是显示的结果稍微有一点区别。

grep支持多文件查询,如:

#多文件查询

grep certificate 00.pem 08.pem

grep命令指定多个文件时可以使用通配,这样就不必逐个给出待搜索的文件了,例如:

grep certificate o?.pem

具体的选项的使用可以通过查询帮助信息获得详细的说明。

3. grep命令族简介

Linux系统支持三种形式的grep命令,通常将这三种形式的grep命令称为grep命令族,这三种形式具体为:

grep:标准grep命令,支持基本正则表达式;

egrep:扩展grep命令,支持基本和扩展正则表达式;

fgrep:快速grep命令,不支持正则表达式,按照字符串的字面意思进行匹配。

egrep命令与grep -E等价,fgrep命令与grep -F等价,在某些Linux的发型版中,egrep和fgrep都是grep命令的别名,分别将其符号链接到grep -E和grep -F命令。

egrep和fgrep命令极少使用,因为grep命令已十分强大,足以替代egrep和fgrep命令,它们的用法就不介绍了。

posted @ 2013-01-23 16:52  leon.hxl  阅读(755)  评论(0编辑  收藏  举报