2010-03-08 120 views
5

我有多個不同項目的SVN存儲庫,我想搜索相同的搜索項/正則表達式,但不檢出或更新每個項目並在每個項目上手動執行搜索。如何在多個Subversion版本庫中搜索文件內容?

我想知道是否有可能在一些搜索詞(或正則表達式)中搜索多個SVN存儲庫中的文件內容。

+0

你們是不是要這些文件,或者只是文件名中進行搜索? – amicitas 2010-03-08 09:38:44

+0

我想搜索文件內的文件內容,所以是的。 – MicSim 2010-03-08 09:47:34

+0

這聽起來像你會盡最大努力直接在存儲庫的文件系統上工作。如果你只查看特定的文件,那就是'svn cat',但是如果你想要一個遞歸目錄搜索......我不知道。 – JXG 2010-03-08 14:41:12

回答

5

這裏是一個腳本:

if [[ $# < 2 ]]; then 
    echo "Usage: $0 REGEX TARGET..." 
    echo "where REGEX is a regular expression for grep" 
    echo "and TARGET... is a list of SVN repositories" 
    exit 
fi 

regex=$1 
shift 

for svnroot in [email protected]; do 
    for path in $(svn ls --recursive $svnroot); do 
     if [[ $path != */ ]]; then 
      svn cat $svnroot/$path \ 
       | grep --label="$svnroot/$path" --with-filename $regex 
     fi 
    done 
done 
+1

這是什麼語言?它是一個bash腳本嗎? – Sam 2015-04-16 04:28:47

相關問題