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一个文件夹下的所有文件的主要内容,如果未能解决你的问题,请参考以下文章