2013-08-01 195 views
10

我有一个包含许多子目录的目录。在其中一些子目录中,我有*.asc扩展名的文件,有些则使用*.xdrtar/gzip不包括某些文件

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

我该怎么做?

我做了类似find . -depth -name *.asc -exec gzip -r9 {} +但这个gzips每个*.asc文件单独这不是我想要做的。

回答

23

您需要使用--exclude选项焦油

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

+0

多个文件的语法是什么?我尝试了* .xdr,*。pdf,但失败了 –

+2

我通过再次添加--exclude来完成。 '--exclude ='*。pdf'--exclude ='*。mp4'' –

1

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

为了更好地控制你正在做什么,你可以首先使用你已经发布的命令(使用-print insted gzip命令)将文件放入一个文件并使用这个文件(= filelist)。 TXT),以uinstruct什么存档

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

这很好。我如何用焦油做到这一点? – user1654183

+0

那么你可以看看'man tar'!? – user1146332

+0

我想这样的事情会工作: tar -cf src.tar --exclude ='*。xdr'src – user1654183

相关问题