0 Comments

grep 命令基本用法(2)

发布于:2012-12-15  |   作者:广州网站建设  |   已聚集:人围观

  g rep命令指定多个文件时可以使用通配,这样就不必逐个给出待搜索的文件了,例3-25的命令可以改成如例3-26所示的等价命令。


  1. #例3-26:用通配表示多文件  
  2. [root@zawu globus]# grep Certificate 0?.pem  
  3. 00.pem:This is a Certificate Request file:  
  4. 00.pem:Certificate Subject:  
  5. 08.pem:Certificate:  
  6. [root@zawu globus]# 

上例利用0?.pem代替了00.pem和08.pem两个文件,显得十分简洁。

表 3-3已经列出了grep命令的选项,下面我们结合具体例子逐个说明grep选项的含义和用法。

1.-c 选项

-c选项表示输出匹配字符串行的数量,默认情况下,grep命令打印出包含模式的所有行,一旦加上-c选项,就只显示包含模式行的数量,下面给出一个使用-c选项的例子。


  1. #例3-27:grep -c 的用法  
  2. [root@zawu globus]# grep -c Certificate *.pem  
  3. 00.pem:2 #00.pem文件中有2 行包含Certificate  
  4. 08.pem:1  
  5. 11.pem:1  
  6. [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选项的例子。


  1. #例3-28:grep -n 的用法  
  2. [root@zawu globus]# grep -n Certificate *.pem  
  3. 00.pem:1:This is a Certificate Request file: #00.pem文件的第1 行  
  4. 00.pem:7:Certificate Subject:  
  5. 08.pem:1:Certificate:  
  6. 11.pem:1:Certificate:  
  7. [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选项的例子。


  1. #例3-29:grep -v 的用法  
  2. [root@zawu globus]# grep -vc Certificate *.pem #同时使用-v和-c选项  
  3. 00.pem:39 #00.pem文件中有39行不包含Certificate字符串  
  4. 08.pem:50  
  5. 11.pem:50  
  6. [root@zawu globus]# 
飞机