SSH(Secure Shell Protocol)命令之 grep

        grep是一个文本搜索工具,能够使用正则表达式搜索文本,并根据要求输出匹配的行数或者输出匹配的行,该命令的一般格式如下:

 

  grep [选项] pattern files

  •   常用【选项】有:

   -?  ?表示一个数字,意思是输出匹配行前后?行,-3表示输出前后3行

   -c  只输出匹配的行数

   -i   忽略大小写进行匹配

   -n  打印匹配行的行号

  •   pattern 是要匹配文本的正则表达式,具体正则语法可以参考其他相关资料,这里只列举几个。

      ^  行的开始 如:'^grep'匹配所有以grep开头的行。

   $   行的结束 如:'grep$'匹配所有以grep结尾的行。

   .   匹配非换行符的任意一个字符 如:'ab.z' 匹配abcz,也匹配abzz

   *  匹配零个或多个前导字符 如:'ab.*z'  匹配abz,也匹配abcccccczz 

   []  匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

   [^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。       

      .........

  • files 要搜索的文件列表,文件可以有一个或者多个,当然要搜索的目标也可以是其他命令的输出,可以使用管道进行连接

      grep -c 'abc' a.log b.log

     

    

 

 【实例】

    grep用得比较多是用来进行统计,并与管道进行联合使用。

  •  查找包含abc 的行  ,并打印行号

         grep  -n 'abc'  a.log

      

       利用管道方式完成同样的工作

      cat a.log | grep -n 'abc'

    

      意思是将cat看到的内容输出作为grep命令的输入,并在这个输入中搜索abc字符串

 

  •   在所有log文件中搜索包含abc字符串的行

         grep -n 'abc'  *.log

        

       

 

 

 

============================万恶的分隔符=================================

 

下期命令 awk  ,功能之强大,请关注

posted @ 2010-05-23 12:08  lovingprince  阅读(1362)  评论(0编辑  收藏  举报