zoukankan      html  css  js  c++  java
  • 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

    大工告成,收工!
     

  • 相关阅读:
    跟我一起了解koa(四)
    快速定位隐蔽的sql性能问题及调优【转载】
    PV,UV,IP
    ActiveMQ的安全机制使用及其源代码分析 [转]
    ActiveMQ中的安全机制 [转]
    ESB、SOA、EAI异同【转】
    磁盘 I/O 性能监控指标和调优方法
    PLS-00306:错误解决思路
    浅谈PetShop之使用存储过程与PLSQL批量处理(附案例)
    关于SQLSQL Server的三值逻辑简析
  • 原文地址:https://www.cnblogs.com/laoguigame/p/4664141.html
Copyright © 2011-2022 走看看