一、grep命令概述

grep:取行的操作,多用于通过正则表达式来指定符合具体条件的行,

grep: Global search Regular Exmpression and printing——以正则表达式所表示的选择条件为标准进行搜索

常用的grep命令包含三种:grepegrepfgrep


二、 如何使用grep命令

# grep [option] pattern FILE//表示从FILE中查找符合‘pattern’这种模式的行,

//其中‘pattern’即为搜索模式


通常情况下模式(pattern)是由元字符和普通字符组合起来表示某个特定条件的,而pattern中可以不包含元字符。

如要显示 /etc/passwd中所有包含“root”的行:

# grep root /etc/passwd

若使用选项 --color,则可以高亮显示被包含的字符:

# grep --color=auto root /etc/passwd

6_Shell语言———grep命令_Linux 文本 处理 grep


三、grep命令的常用选项

--color=auto: 给选择内容加上颜色高亮显示

color默认为红色,但也可以自行指定颜色,可采用如下操作:

   # export GREP_COLOR=01,31//其中01表示背景色,31-37可以是不同的前景色6_Shell语言———grep命令_Linux 文本 处理 grep_02

-v:反向选取,只显示不符合模式的行  

如显示某文件中的非空白行,可输入以下命令:

# grep -v ^$ /etc/rc.d/rc.sysinit

6_Shell语言———grep命令_Linux 文本 处理 grep_03

-o:只显示被模式匹配到的字符串,而不是整个行  

-i:匹配时不区分大小写

-r:递归搜索目录中所有文件6_Shell语言———grep命令_Linux 文本 处理 grep_04

-A #:显示匹配到的行时,顺带显示其后的#行,如-A 2表示显示匹配到的后两行

-B #:显示匹配到的行时,顺带显示前面的#行,如-B 2表示显示匹配到的前两行

-C #:显示匹配到的行时,顺带显示前后的#行,如-C 2表示显示匹配到的前后两行

-w:等同于锚定词首词尾的正则表达式 (此选项需对正则表达式的用法有所了解,正则表达式将在下一节内容中详细介绍)

# grep -w [[:digit:]]\{1,2\} /etc/rc.d/rx.sysinit //找出1位或2位数6_Shell语言———grep命令_Linux 文本 处理 grep_05-E:表示支持扩展正则表达式,等同于 egrep

6_Shell语言———grep命令_Linux 文本 处理 grep_06