首页 > 代码库 > grep在linux操作系统php,pytho等开发中的应用

grep在linux操作系统php,pytho等开发中的应用

grep就linxu和unix下常用的工具.作用是从文件或规范输入中筛选出包含某个正则表达式能匹配的文本行,并将其输出!可以说在某些情况下掌握grep的使用,可以使自己的事半功倍.

工具/原料

    • Linux操作系统建议使用(CentOS5.x)版本.

    • 感谢鸟哥私房菜中http://linux.vbird.org/linux_basic/0330regularex/regular_express.txt

方法/步骤

    1. 1

      基本用法 :  grep [选项] 正则表达式 [文件]

             为了防止正则表达式被shell错误解释,所以我强烈建议把正则表达式中的*,[上海性病医院,]之类在写正则表达式的时候加上单引号.

             例如:查找test.txt中所有包含is的行

             grep is test.txt

             或者

             grep ‘is‘ test.txt

             推荐使用后者,检索结果如下:

      技术分享
    2. 2

      如果你喜欢用变量可以这样写

             首页设置一个检索的变量,上海最好的性病医院然后用双引号引起来这点和很多编程语言有点类型双引号可以解析变量例如php,perl等

             结果如下:

       

      技术分享
    3. 3

      还可以利用字符组例如

              从test.txt中检索出来包含字符大写O和T的行,你可以这样写

              结果如下:    

      技术分享
    4. 4

      在文件中匹配单词,一般我们用的是\b,但是在grep中用的\<和\>代替

               从test.txt中检索The单词的行

               结果如下:

      技术分享步骤阅读
    5. 5

      当然也可以在grep中使用量词如*,+,?.{n,m}其中*可以直接使用,别的使用时候必须转义也就是在前面加反斜线\如\+,\?,\{n,m\}

            从test.txt中检索g,go,goo之类的行,其他量词用法类似

            结果如下:

      技术分享
    6. 6

      也许你会好奇多选怎么用那?grep支持多选,但是和量词一样都必须转义才可以使用(,|,),写的时候必须写成\(字符串1\|字符串2\)

             从test.txt中检索best和dress的行

             结果如下:

      技术分享
    7. 7

      上面说了那么多都是基础不过也是最核心的,下面重点说一下grep的常用参数的使用

           -i 不区分大小写

           -v 不匹配也可以说是排除

           -w 只匹配单词

           -n 显示行数

           -r 递归查找(这个必记参数,例如你要到某个目录下面找那个函数特有用) 这个记得看         我的练习目录发生了变化

      技术分享
      技术分享
      技术分享
      技术分享
      技术分享
      END

注意事项

  • grep使用的时候记得加文件名不然后卡到哪里不动

grep在linux操作系统php,pytho等开发中的应用