• svn 删除所有未受控制的文件


    我在以前的博客文章:如何在命令行通过SVN命令筛选出修改过的文件并递交

    思路和之前文章类似,只是这篇会对用到的命令做比较详细的分析

    • 查看状态:$svn st

      ? 3600ff3d-688e-410d-9412-3af5f40e4e49.mobileprovision 
      ? 568ef109-1996-48e0-b522-a9965ebdfddc.mobileprovision 
      ? 618c775c-8849-45d5-9e30-96f4728059f4.mobileprovision 
      ? 964b444f-86d6-4e4a-885e-e5b4f237bd20.mobileprovision 
      M config.lua
      可以看出我的当前目录有4个文件未受版本控制,1个文件被修改
    • 加入grep命令
    $svn st | grep "?"
      ? 3600ff3d-688e-410d-9412-3af5f40e4e49.mobileprovision 
      ? 568ef109-1996-48e0-b522-a9965ebdfddc.mobileprovision 
      ? 618c775c-8849-45d5-9e30-96f4728059f4.mobileprovision 
      ? 964b444f-86d6-4e4a-885e-e5b4f237bd20.mobileprovision 

    svn st | grep "?"解析如下:

    svn st命令将输出文件的状态信息加入|的作用是将|前面命令的输出结果当做|后面grep命令的输入,grep "?"加入?的作用是将grep的输入数据赛选出未受版本控制的文件信息并输出(shell默认输出到控制台)

    • 将未受控制的文件信息摘出文件名 
    $svn st | grep "?" | cut -c 9-

    上面的命令将输出如下结果到控制台

    3600ff3d-688e-410d-9412-3af5f40e4e49.mobileprovision

    568ef109-1996-48e0-b522-a9965ebdfddc.mobileprovision

    618c775c-8849-45d5-9e30-96f4728059f4.mobileprovision

    964b444f-86d6-4e4a-885e-e5b4f237bd20.mobileprovision

     $svn st | grep "?"此命令已经详细说明,在次命令后面加入| cut命令是将grep "?"命令的输出作为cut命令的输入,cut命令的参数 -c 9-是截取输出的信息中每行中的从第9列开始到行尾的数据,这样输出的信息不包含? 和空格相关的数据了。

    • $svn st | grep "?" | cut -c 9-的输出结果重定向到一个临时文件
     $svn st | grep "?"  |  cut -c 9- > del.txt

    >的作用是将>左边命令的输出定向到>右边的文件中(不在控制台上输出),这样del.txt就保存了所有需要删除的文件名信息

    • 最后通过svn delete命令将del.txt中列出的文件删除 

    $svn delete --force --targets del.txt

    大工告成,收工!
     

  • 相关阅读:
    学习H5一周随笔
    vue项目中vux的使用
    git操作常用命令
    vue2.0 实现全选和全不选
    鼠标事件以及clientX、offsetX、screenX、pageX、x的区别
    js编写当天简单日历
    UIView.frame的骗局
    设计模式笔记感悟
    实用图像处理入门
    实用图像处理入门
  • 原文地址:https://www.cnblogs.com/laoguigame/p/4664141.html
Copyright © 2020-2023  润新知