g rep命令指定多个文件时可以使用通配,这样就不必逐个给出待搜索的文件了,例3-25的命令可以改成如例3-26所示的等价命令。
- #例3-26:用通配表示多文件
- [root@zawu globus]# grep Certificate 0?.pem
- 00.pem:This is a Certificate Request file:
- 00.pem:Certificate Subject:
- 08.pem:Certificate:
- [root@zawu globus]#
上例利用0?.pem代替了00.pem和08.pem两个文件,显得十分简洁。
表 3-3已经列出了grep命令的选项,下面我们结合具体例子逐个说明grep选项的含义和用法。
1.-c 选项
-c选项表示输出匹配字符串行的数量,默认情况下,grep命令打印出包含模式的所有行,一旦加上-c选项,就只显示包含模式行的数量,下面给出一个使用-c选项的例子。
- #例3-27:grep -c 的用法
- [root@zawu globus]# grep -c Certificate *.pem
- 00.pem:2 #00.pem文件中有2 行包含Certificate
- 08.pem:1
- 11.pem:1
- [root@zawu globus]#
例3-27 对当前目录下所有.pem的文件查找Certificate 关键字,指定文件使用了通配,结果00.pem:2 表示00.pem中有2 行包含关键字Certificate,08.pem和11.pem各有1 行包含关键字Certificate。
2.-n选项
-n选项列出所有的匹配行,并显示行号。默认情况下,grep搜索单个文件时,只显示每行的内容,搜索多个文件时,显示文件名及每行的内容,加上-n选项后,将在行内容前附加显示行号,下面给出一个使用-n选项的例子。
- #例3-28:grep -n 的用法
- [root@zawu globus]# grep -n Certificate *.pem
- 00.pem:1:This is a Certificate Request file: #00.pem文件的第1 行
- 00.pem:7:Certificate Subject:
- 08.pem:1:Certificate:
- 11.pem:1:Certificate:
- [root@zawu globus]#
例3-28 仍然对当前目录下所有.pem 的文件查找Certificate 关键字,结果00.pem:1:表示00.pem文件的第1 行包含Certificate关键字,并列出00.pem的第1行具体内容。对于08.pem和11.pem的搜索也同样显示了行号。
3.-v 选项
-v选项显示不包含模式的所有行,下面给出一个使用-v选项的例子。
- #例3-29:grep -v 的用法
- [root@zawu globus]# grep -vc Certificate *.pem #同时使用-v和-c选项
- 00.pem:39 #00.pem文件中有39行不包含Certificate字符串
- 08.pem:50
- 11.pem:50
- [root@zawu globus]#



