0

私はシェル スクリプトを作成して、とりわけ、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}

でも、最後の2行は好きじゃない。どうすればそれらを組み合わせることができますか?

ノート:

`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 に答える