2010-03-08 86 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

相关问题