加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux和SVN:如何删除所有版本化文件但KEEP目录结构,忽略.svn dirs?

发布时间:2020-05-24 00:14:12 所属栏目:Linux 来源:互联网
导读:我想从我的存储库中删除所有版本化的文件,但保留版本化的目录结构.显然我想保持所有.svn目录不变. 换句话说,我想完全清空工作副本的目录结构,而不会损害目录结构本身. 例如,从此结构中删除文件: dir/ .svn/ [files] svsubdir1/ file1 .svn/ [files] subd

我想从我的存储库中删除所有版本化的文件,但保留版本化的目录结构.显然我想保持所有.svn目录不变.

换句话说,我想完全清空工作副本的目录结构,而不会损害目录结构本身.

例如,从此结构中删除文件:

dir/
    .svn/
        [files]
    svsubdir1/
        file1
        .svn/
            [files]
    subdir2/
        file2
        file3
        file4
        .svn/
            [files]
        subsubdir1/
            file5
            .svn/
                [files]

应该导致:

dir/
    .svn/
        [files]
    svsubdir1/
        .svn/
            [files]
    subdir2/
        .svn/
            [files]
        subsubdir1/
            .svn/
                [files]

我正在寻找某种类型的find命令或者其他东西来完成这个,而且我在构造命令时遇到了麻烦.谢谢您的帮助!

解决方法

find dir/ -path '*/.svn' -prune -o -type f -print

应该适合该法案(主要来自-path的查找手册).将它管道减少并检查出来.它的作用是首先找到(路径以.svn结尾,不要递归到(修剪)这个目录)或(如果它是一个文件,打印它).

如果看起来不错,请将其更改为

find dir/ -path '*/.svn' -prune -o -type f -exec rm {} +

该版本将所有文件合并为一个rm命令.如果你是偏执狂,请先备份树(cp -a dir / otherdir /).

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读