【问题标题】:Exclude files from tar gzipping a directory in unix从 tar gzip 中排除文件在 unix 中的目录
【发布时间】:2017-03-24 00:07:17
【问题描述】:

我有一个目录 (dir)(包含文件和子目录):

ls -1 dir
plot.pdf
subdir.1
subdir.2
obj.RDS

然后是ls -1 用于subdir.1subdir.2

plot.pdf
PC.pdf
results.csv
de.pdf
de.csv
de.RDS

我想targzip dir(在unix 中)并且我想排除所有RDS 文件(dir 正下方的级别及其子目录中的文件)。

实现这一目标的最简单方法是什么?也许在一个班轮中

【问题讨论】:

    标签: unix gzip tar


    【解决方案1】:

    类似:

    find dir -type f -not -name '*.RDS' -print0 | 
                  tar --null -T- -czf TARGET.tgz
    

    应该这样做。

    首先,find 找到文件,然后tar 通过-T- (= --files-from /dev/stdin) 接受列表。

    -print0 on find--null 结合使用 tar 防止奇怪的文件名。

    -czf == 创建 gZip 文件

    您可以添加v 以获得详细输出。

    要稍后检查内容,您可以:

    tar tf TARGET.tgz
    

    【讨论】:

      【解决方案2】:
      tar --exclude=*.RDS -Jcf outputball.tar  dir_to_compress
      

      这将忽略任何目录或子目录中的 *.RDS

      使用解压

      tar -xvf outputball.tar
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-23
        • 1970-01-01
        • 1970-01-01
        • 2014-03-05
        • 2012-01-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多