svn 命令行 批量删除和批量添加

如果使用svn的命令行,例如在linux下的终端中使用,

svn的添加命令是svn add,删除命令是svn del,但是缺乏批量的操作,如果我在资源管理器中,手动添加了好多个文件夹下的各种各样的文件,然后我想一次性add,svn就力不从心了,即使使用svn add *,也会因为新添文件的父目录已经被添加进版本库而忽略父目录下的所有文件。手动删除了很多文件,想要一次性del时,也会遇到类似的情况。


通过研究,发现以下的命令能够解决这两个问题:

批量删除文件——

svn status|grep ! |awk '{print $2}'|xargs svn del

语句释义是:首先svn status查看svn状态,列出所有改动,打!号的是已经删除的文件但是还未标记成从库中除去,grep !将这些文件单独抽离出来,

此时如果不执行后面的语句,呈现的内容应该是类似

!       img/p/2-49-small.jpg
!       img/p/2-48-thickbox.jpg
!       img/p/2-48-medium.jpg

再用awk '{print $2}'将抽离出来的文本结果处理,留下每一行的第二段文字,即后面的文件名,

此处必须注意,svn status|grep !和后面的语句|awk '{print $2}'|xargs svn del之间,必须有一个空格,否则终端还是会认为这个!号是特殊符号

此时呈现的结果应该是

img/p/2-49-small.jpg
img/p/2-48-thickbox.jpg
img/p/2-48-medium.jpg

这个时候就可以直接递交给svn del命令了,使用xargs这个参数构造命令,将每一行的文本作为参数提供给svn del,结果就是所有列出的文件都执行了一遍del了。


批量添加文件——

几乎一样,不同的是svn标记的符号不一养,使用的是问号!

svn status|grep ? |awk '{print $2}'|xargs svn add


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值