有時候我們要搜索一個文檔,不知道在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中帶空格的文件和目錄是導不出來的。