Linux如何列出svn一个文件夹下的所有文件

Posted BuguTian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux如何列出svn一个文件夹下的所有文件相关的知识,希望对你有一定的参考价值。

有时候我们要搜索一个文档,不知道在svn的什么地方,所以写了一个脚本导出一个svn目录下所有的文件名。

导出SVN中的文件和目录名

文件名为:export_svn_filename.sh

#!/bin/bash

AUTHSTR="--username username --password passwd --no-auth-cache --non-interactive"
function list()
{
        DIRNAME=${1%/*}
        echo "${DIRNAME}/"
        for i in `svn list ${DIRNAME} ${AUTHSTR}`
        do
          if [ ${i:0-1:1} == "/" ];then
               list "${DIRNAME}/${i}"
               DIRNAME=${1%/*}
          fi
          echo ${DIRNAME}/$i
        done
}

list $1

执行

sh export_svn_filename.sh svn://ip:port/aaa   >>  result.txt

提取出文件名

过长的目录名看起来闹心,删除过长的目录名,只保留文件名:
文件名:filename_filter.sh

#!/bin/bash

for i in `cat $1`
do
   echo ${i##*/}
done

执行

sh filename_filter.sh result.txt >> result2.txt

当然脚本有个BUG,SVN中带空格的文件和目录是导不出来的。

以上是关于Linux如何列出svn一个文件夹下的所有文件的主要内容,如果未能解决你的问题,请参考以下文章

如何列出linux的文件目录和所有的文件

在Linux/Mac下面删除所有的.svn文件

如何列出远程 SVN 存储库中的所有文件?

如何列出当前目录下,以install开头的所有文件

列出/etc目录下的所有文件命令

用java写一个代码实现: 如何列出某个目录下的所有子目录