grep 排除目录搜索


grep的--exclude-dir=参数就是为了排除某个目录的,即不包含等号后面的目录,所以我们可以利用此参数去掉.svn的隐藏目录。 

--exclude-dir=参数的用法如下: 

Java代码   收藏代码

If you have GNU Grep, it should work like this:  

grep --exclude-dir=".svn"  

例如:查找当前目录以及子目录下所有包含"test"字符串的代码并打印行号  

  

grep -nr --exclude-dir=".svn" test *  

  

或者  

  

grep -nr --exclude-dir=\.svn test *  

--exclude-dir=后面要排除的目录用双引号括起来或者直接接目录名都可以,但是特殊字符必须用转义符表示,例如".svn"中的"."。  




如果每次都输入--exclude-dir=参数,是不是很慢还容易出错,降低效率呢? 

不过不用担心,我们可以把--exclude-dir=参数通过加入配置文件 ~/.bashrc (这是bash的当前用户配置文件) 的方法来简化操作,提高效率。 

在~/.bashrc文件的末尾添加以下命令: 
Java代码   收藏代码

export GREP_OPTIONS="--exclude-dir=\.svn"    


然后保存,执行source ~/.bashrc或者. ~/.bashrc,使修改起作用。 
转自:  http://hi.baidu.com/javyquan/item/289e40cabf2c4a3398b49887

你可能感兴趣的:(shell)