在本章中我们将讨论:
• grep(参数)选项。
• 匹配g r e p的一般模式。
• 只匹配字母或数字,或两者混用。
• 匹配字符串范围
g r e p一般格式为:
grep [选项]基本正则表达式[文件]
这里基本正则表达式可为字符串。
8.1.1 双引号引用
在g r e p命令中输入字符串参数时,最好将其用双引号括起来。例如:“mys tring” 。这样做有两个原因,一是以防被误解为 shell命令,二是可以用来查找多个单词组成的字符串,例如:“jet plane” ,如果不用双引号将其括起来,那么单词 plane将被误认为是一个文件,查询结果将返回“文件不存在”的错误信息。
8.1.2 grep选项
常用的g r e p选项有:
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符) 。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
8.1.3 查询多个文件
如果要在当前目录下所有. d o c文件中查找字符串“s o r t” ,方法如下:
$ grep "sort"*.doc
或在所有文件中查询单词“sort it”
- $ grep "sort it" *
8.1.4 行匹配
- $ grep -c "48" data.f
- $ 4
g r e p返回数字4,意义是有4行包含字符串“4 8” 。
现在显示包含“4 8”字符串的4行文本:
8.1.5 行数
- grep -n "48" data.f
8.1.6 显示非匹配行
显示所有不包含4 8的各行
8.1.7 精确匹配
使用g r e p抽取精确匹配的一种更有效方式是在抽取字符串后加 \ >
8.1.8 大小写敏感
g r e p是大小写敏感的,如要查询大小写不敏感字符串,必须使用 - i开关
- grep -i "haha" cc.doc