迁移后我有两个svn远程分支现在如何使用下面的sed命令将所有远程分支更改为git本地分支
$ git branch -r
svn-origin/branch-A
svn-origin/branch-B
此处如何删除svn-origin/
到git local branch。
$ git branch -r | grep branch | sed 's/svn-origin//'
我需要的输出是这样的:
$ git branch
branch-A
branch-B
答案 0 :(得分:1)
您可以简单地使用不同的分隔标记,例如#
:
git branch -r | grep branch | sed 's#svn-origin/##'
现在sed
将使用空字符串替换svn-origin/
。 sed
读取s
命令,以及它认为是分隔符的下一个字符。因此,如果您想使用/
(或表达式中的任何其他字符),只需使用不同的分隔符。
如果您想删除前导空格,也可以使用:
git branch -r | grep branch | sed 's#^\s*svn-origin/##'
因此,\s*
删除空格,^
作为锚点(^
不需要)。
答案 1 :(得分:1)
git branch -r |awk -F'/' '/branch/{print $NF}'
OR
git branch -r |grep branch|sed -r 's|(^.*/)(.*)|\2|'