zoukankan      html  css  js  c++  java
  • svn命令行批量删除和批量添加

    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
    
  • 相关阅读:
    [转] RISC-V架构介绍
    SiP封装成超越摩尔定律的要塞,日月光/安靠/长电科技谁将赢取IC封装的未来
    OLED中的Demura
    第四次工业革命:人工智能(AI)入门
    星座图的原理与应用
    示波器基本原理之七:示波器的基本测量
    示波器基本原理之六:示波器的基本控制
    示波器基本原理之五:采集模式
    示波器基本原理之四:波形捕获率
    png的故事:隔行扫描算法
  • 原文地址:https://www.cnblogs.com/catmelo/p/5847025.html
Copyright © 2011-2022 走看看