Linux学习笔记8-grep 家族

##Linux学习笔记8-grep 家族
grep(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。grep支持基本正则表达式,也支持其扩展集
grep一般格式为:
grep [选项]基本正则表达式[文件]
这里基本正则表达式可为字符串。

在grep命令中输入字符串参数时,最好将其用双引号括起来。例如:“mystring”。这样做有两个原因, 一是以防被误解为shell命令,
二是可以用来查找多个单词组成的字符串,例如:
“jet plane”,如果不用双引号将其括起来,那么单词plane将被误认为是一个文件,查询结果将返回“文件不存在”的错误信息。
在调用变量时,也应该使用双引号,诸如: grep “MYVAR”文件名,如果不这样,将没有返回结果。
在调用模式匹配时,应使用单引号。

常用的grep选项有:
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。

grep “will”*.doc 在当前目录下所有.doc文件中查找”will”字符串。

精确匹配:
grep “will"*.doc 在当前目录下所有.doc文件精确匹配"will" 还可以写为:grep "will\>"*.doc 大小写敏感: 缺省情况下, grep是大小写敏感的,如要查询大小写不敏感字符串,必须使用- i开关。