如果是用svn管理的代碼,每個文件夾下都有一個.svn的隱藏文件夾,包含對代碼版本的控制信息,日積月累會越來越龐大。所有如果只是默認搜索的話,很多搜索結(jié)果都是svn目錄下的,對我們來說,是沒有價值的內(nèi)容;而且還會耗費很多時間。
grep的--exclude-dir=參數(shù)就是為了排除某個目錄的,即不包含等號后面的目錄,所以我們可以利用此參數(shù)去掉.svn的隱藏目錄。
--exclude-dir=參數(shù)的用法如下:
- 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=后面要排除的目錄用雙引號括起來或者直接接目錄名都可以,但是特殊字符必須用轉(zhuǎn)義符表示,例如".svn"中的"."。
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=后面要排除的目錄用雙引號括起來或者直接接目錄名都可以,但是特殊字符必須用轉(zhuǎn)義符表示,例如".svn"中的"."。
如果每次都輸入--exclude-dir=參數(shù),是不是很慢還容易出錯,降低效率呢?
不過不用擔心,我們可以把--exclude-dir=參數(shù)通過加入配置文件 ~/.bashrc (這是bash的當前用戶配置文件) 的方法來簡化操作,提高效率。
在~/.bashrc文件的末尾添加以下命令:
- export GREP_OPTIONS="--exclude-dir=\.svn"
export GREP_OPTIONS="--exclude-dir=\.svn"
然后保存,執(zhí)行source ~/.bashrc或者. ~/.bashrc,使修改起作用。