Shell:在字符后检索字符串并将其替换为另一个字符串

时间:2017-03-01 08:38:57

标签: shell svn

在我的詹金斯工作中, 我正在使用环境变量: $ SVN_URL 其中:

$SVN_URL=http://svn.local:8080/svn/project1/trunk

我正在执行这个shell命令的进一步步骤:

svn copy http://svn.local:8080/svn/project1/trunk http://svn.local:8080/svn/project1/tags/v$RELEASE_VERSION \
           -m "Tagging the v$RELEASE_VERSION release"

此命令可以替换为此(使用我的$ SVN_URL):

svn copy $SVN_URL http://svn.local:8080/svn/project1/tags/v$RELEASE_VERSION \
           -m "Tagging the v$RELEASE_VERSION release"

但我仍然无法对第二部分进行优化:

http://svn.local:8080/svn/project1/tags/v$RELEASE_VERSION

所以我想使用我的 $ SVN_URL

所以要恢复:

  1. 我的$ SVN_URL包含:http://svn.local:8080/svn/project1/trunk/
  2. 我想从中检索部分:/trunk/
  3. 添加部分:/tag/
  4. 建议?

1 个答案:

答案 0 :(得分:0)

我简单地使用“sed”并且工作正常

svn copy $SVN_URL "$(echo $SVN_URL| sed 's/trunk/tags/')"/v$RELEASE_VERSION \
          -m "Tagging the v$RELEASE_VERSION release"