grep如何忽略.svn目录,以及如何忽略多个目录
来源:互联网 发布:四川话在线翻译软件 编辑:程序博客网 时间:2024/06/05 08:55
grep如何忽略.svn目录,以及如何忽略多个目录
grep -r 'function_name' *
(*表示当前目录下所有文件,-r表示递归查找,使用的模式较为简单,仅作参考)由于现在的很多项目都使用subversion作为版本管理工具,因此每个源码目录下都会有一个.svn 目录,其中包含了很多源码信息。不出意外,你很快会得到满屏幕的打印信息,但是其中大部分的信息都来自于 .svn 目录下的文件。有如下两种选择可以去除来自 .svn 目录的结果信息:
1.使用管道进行双层“过滤”,其中第二次grep使用了-v选项,即逆向匹配,打印出不匹配的行grep -r 'function_name' * | grep -v '.svn'
2.或者更简单一些,直接使用--exclude-dir选项,即指定排除目录,注意svn前的 \.grep -r --exclude-dir=\.svn 'function_name' * 的确,通过简单的选项设置,我们达到了过滤.svn目录的功能,但是每次都要输入 --exclude-dir=\.svn 的选项,似乎太麻烦了一点,幸运的是linux下灵活的配置文件可以解决这一切:打开 ~/.bashrc (这是bash的当前用户配置文件),在文件的最上方添加这样一条:export GREP_OPTIONS="--exclude-dir=\.svn"
(注意 = 的前后不能有空格,不然在载入该配置文件时会提示错误)保存并关闭,同时在命令行键入如下命令:source ~/.bashrc (让bash重新读取脚本)当然,你也可以简单地关闭shell并重新打开一个shell窗口这样当你使用grep时,bash都会自动帮你附加--exclude选项,从而节省不少输入的时间:)
注意:老版本的grep不支持--exclude-dir选项,会报错误“grep: unrecognized option `--exclude-dir=.svn'”如果遇到这种情况,请更新软件包。
另外,如果需要支持多个目录,可用如下格式: --exclude-dir=external --exclude-dir=build --exclude-dir=bin --exclude-dir=\.svn
相应地: export GREP_OPTIONS="--exclude-dir=external --exclude-dir=build --exclude-dir=bin --exclude-dir=\.svn"
example: grep -nr --exclude-dir=out/ 'Some data may be corrupt' *
0 0
- grep如何忽略.svn目录,以及如何忽略多个目录
- grep 搜索时忽略 .svn目录
- SVN忽略整个目录
- eclipse svn 忽略 目录
- svn忽略文件或目录
- SVN关于忽略xcuserdata目录
- eclipse svn 忽略 target目录
- 如何cp目录时忽略指定的目录和文件
- grep 搜索时忽略 .git目录
- cvs如何忽略掉已添加的目录
- eclipse忽略svn目录文件编译
- 设置SVN忽略文件和目录
- 设置SVN忽略目录(文件夹)和文件
- svn设置忽略文件或者文件夹(目录)
- eclipse svn 忽略 相关文件和目录
- Laravel 发布线上忽略文件以及目录
- find 忽略某些目录
- svn中如何忽略对比class文件
- MySQL | MariaDB命令行客户端常用操作
- Android开发之局域网内udp传输图片
- 算法试题收集
- Java线程小记
- ZOJ1733-Common Subsequence
- grep如何忽略.svn目录,以及如何忽略多个目录
- hdu4811(思维题)
- iOS去除数组中重复元素的几种方法
- Handler异步消息处理机制的源码分析
- Android移植和交叉编译
- Blinn–Phong Shading Model
- 《谷歌和亚马逊如何做产品》读书笔记之一:赢在使命和策略
- 画板项目
- Service和Thread的关系