伸手党福音——svn add all(兼容特殊字符)

613 阅读1分钟

svn没有像git一样的add -A功能,所以利用linux命令实现两个比较常用的svn add all;

svn add all

svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add

这个比较常见,网上也可以搜的到,基本还是挺好用的,但是有个问题,就是如果碰到文件中含有类似@这种字符例如 二倍图片image@2x.png 需要

svn add image\@2x.png@

这样才可以添加成功,所以当有特殊字符时,普通的svn add all这个命令就失去效果了。

svn add all with @

svn st|awk 'match($2,/@/)'|awk '{if ( $1 == "?") { print $2}}'|awk 'gsub("@","\@"){print $0"@"}'|xargs svn add

使用方式是先执行这个svn add all with @的命令,然后执行普通的svn add all; 简单讲解一下,linux大佬无视之; match 先匹配所有含@的行,然后通过第一个awk筛选出所有同时带@和?的;第二个awk替换@为@,并且通过print在后缀增加@‘最后统一执行svn add。

所以碰到其他的特殊字符也可以把@换掉,统一处理