0

我正在编写一个 shell 脚本来确定最后一次在 subversion 存储库中创建分支的时间。以下代码有效:


        DEV='http://some/svn/server/'
        BRANCH='some/repos/branches/'
        LAST_UPDATE=`svn list http://$DEV$BRANCH | sort -r`
        LAST_UPDATE=${LAST_UPDATE:0:10}

但我不喜欢最后两行。我怎样才能将它们结合在一起?

笔记:

`svn 列表 http://some/svn/server | 排序-r`
将返回一个文件夹列表,例如:
2009-01-12/
2009-01-11/
...
2009-01-01/

我只是想删除斜杠

4

2 回答 2

4

怎么样:

    LAST_UPDATE=`svn list http://$DEV$BRANCH | sort -r | awk -F\/ '{print $1}'`

我没有测试过它,我不确定反引号内的引号是否会导致任何问题,但否则我看不出它为什么不起作用......

于 2009-01-14T14:41:28.870 回答
1

另一个也许更强有力的建议是使用basename

LAST_UPDATE=`svn list http://$DEV$BRANCH | sort -r | xargs -i basename {}`

关键优势在于basename了解路径语法,并且无论您向其抛出什么奇怪的文件名,都会产生规范的表示。

于 2009-01-23T21:58:43.417 回答