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"
注意:老版本的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"
SVN新增忽略目錄
專案 thinkphp 目錄結構 thinkphp common runtime home 忽略目標 runtime 資料夾及下面所有檔案 首先,需要忽略的目錄必須沒有加入版本控制器。如果已經在版本控制器 svn delete keep local runtime 輸入忽略指令 svn ps svn...
SVN 更新時忽略指定檔案或目錄
svn 更新時忽略指定資料夾 用於在本地更新時,忽略svn伺服器中專案中的指定檔案 夾 命令列可以這麼來 svn update set depth exclude 資料夾 那麼tortoisesvn客戶端呢?在資料夾右鍵中的 更新至版本 u 更新深度選 排除 在版本瀏覽器中去掉指定的目錄,確定,搞定...
設定SVN忽略檔案和目錄(資料夾)
今天遇到 svn 這個問題先在網上搜了一下,發現下面這篇部落格寫得很詳細,所以就直接 過來。感謝作者hemingwang0902的辛勤勞動成果。在多數專案中你總會有檔案和目錄不需要進行版本控制。這可能包括一些由編譯器生成的檔案,obj,lst,或許是乙個用於存放可執行程式的輸出文 件夾。只要你提交修...