Grep 使用记录

    最近做的事情比较繁琐,使用的工具更加的笨拙,全工程搜索东西是一个相当的慢,我决定使用更有效的工具来提高工作的效率,所以选择了grep。
    我使用grep的选项通常如下:
  1. grep -i -r -w -l --include=*.xml --include=*.c "functionname" .
  2. /* 下面这个可以在根目录下面搜索比较深的子目录下面某支文件中的内容 */
  3. grep -i -r -n --include=filename "functionname" .
    -i 忽略大小写
    -r 遍历目录,包括子目录
    -w 表示要搜索的string是一个word,是/<word/>很方便的简单使用
    -l 只列出匹配的文件名       
    --include=*.xml 搜索xml类型的文件,*.xml可以是其他的通配符
                    同这个对等的也可以使用--exclude排除不想要搜索的文件类型

    发现grep Context Line Control的功能比较有帮助显示。
    grep默认的选项是-o,也就是只打印match的行。但是-A num / -B num / -C num 提供了能够打印match行附近行的功能。如果在使用grep查找的时候对match行周边的行比较感兴趣可以使用这几个选项。
    -A num    --after-context=num   
    -B num    --before-context=num
    -C num    --context=num
    相对来讲,这三个选项看长选项就能猜测如何使用啦。

    比较简单,但是比我使用的笨拙的项目工具而言,能够把5分钟左右的搜索减少到1分钟左右吧。
如果没有安装grep,但是在使用windows xp的话,可以使用下面的方法。
  1. @rem 首先到工作目录下
  2. cd workdir
  3. findstr /I /R "/<word/>" *.UXO
  4. @rem Add Magic 2008-10-30 13:35 The following should work as grep does but not --START--
  5. @rem failed case number 1
  6. @rem replace the dot with path you wanna to search recursively.
  7. findstr /I /S "/<word/>" .
  8. @rem failed case number 2
  9. findstr /I /S /R "/<word/>" /D:E:/pathtobesearched
  10. @rem failed case number 3
  11. findstr /I /S /R "/<word/>"
  12. @rem Add Magic 2008-10-30 13:35 ---END---
  13. @rem Add Magic 2008-11-10 10:54 Add /s for Findstr --START--
  14. findstr /S /I echo *.*
  15. findstr /S /I /M echo *.bat
  16. findstr /S /I /N echo *.bat
  17. @rem Add Magic 2008-11-10 10:54 Add /s for Findstr ---END---
    findstr也有对应grep recursive(递归)的选项/S,可以使用下。

Appendex A:
Findstr 帮助
http://www.ss64.com/nt/findstr.html
FINDSTR

$Last Update: 2008-11-24 14:02 MagicPang$

$Change History:$
$2008-10-29 17:27 MagicPang Initialize this article$
$2008-10-30 13:40 MagicPang add failed case record. and add /R option to findstr$
$2008-10-30 13:44 MagicPang add appendix A: usage of Findstr$
$2008-11-10 10:55 MagicPang add example for Findstr /s$
$2008-11-21 13:00 MagicPang delete appendex A cause it's redundant add grep usage example$
$2008-11-24 14:02 MagicPang add Context Line Control Options for grep$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值