【问题标题】:tar/gzip excluding certain filestar/gzip 不包括某些文件
【发布时间】:2013-08-02 15:18:27
【问题描述】:

我有一个包含许多子目录的目录。在其中一些子目录中,我有带有*.asc 扩展名的文件和一些带有*.xdr 的文件。

我想创建一个单一的 tarball/gzip 文件,该文件维护目录结构,但不包括所有扩展名为 *.xdr 的文件。

我该怎么做?

我做了类似find . -depth -name *.asc -exec gzip -r9 {} + 的操作,但这会单独压缩每个*.asc 文件,这不是我想做的。

【问题讨论】:

    标签: linux bash unix gzip tar


    【解决方案1】:

    gzip 将始终单独处理文件。如果你想要一个捆绑的存档,你必须先 tar 文件,然后 gzip 结果,因此你最终会得到一个 .tar.gz 文件或简称 .tgz。

    为了更好地控制你正在做的事情,你可以首先使用你已经发布的命令(使用 -print 而不是 gzip 命令)find 文件并将它们放入一个文件中,然后使用这个文件( =filelist.txt) 来指示 tar 归档的内容

    tar -T filelist.txt -c -v -f myarchive.tar
    

    【讨论】:

    • 没关系。我怎么能用焦油呢?
    • 我想这样的事情会起作用:tar -cf src.tar --exclude='*.xdr' src
    【解决方案2】:

    您需要使用--exclude 选项:

    tar -zc -f test.tar.gz --exclude='*.xdr' *

    【讨论】:

    • 多个文件的语法是什么?我试过 .xdr,.pdf 但失败了
    • 我通过再次添加 --exclude 来做到这一点。 --exclude='*.pdf' --exclude='*.mp4'
    猜你喜欢
    • 2010-11-02
    • 2015-03-10
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多