我有一个包含许多子目录的目录。在其中一些子目录中,我有扩展名为*.asc
和*.xdr
的文件。
我想创建一个单一的tarball/gzip文件,保持目录结构,但排除所有扩展名为*.xdr
的文件。
我该怎么做?
我尝试过类似于find . -depth -name *.asc -exec gzip -r9 {} +
这样的命令,但是这会分别对每个*.asc
文件进行gzip压缩,而不是我想要的结果。
--exclude
选项:
tar -zc -f test.tar.gz --exclude='*.xdr' *
gzip永远只会单独处理文件。如果你想打包存档,你需要先使用tar将文件打包,然后再使用gzip压缩结果,因此最终你会得到一个.tar.gz文件或.tgz文件。
为了更好地控制你所做的事情,你可以首先使用你已经发布的命令(使用-print而不是gzip命令)查找文件并将它们放入一个文件中,然后使用这个文件(=filelist.txt)来指示tar要归档的内容。
tar -T filelist.txt -c -v -f myarchive.tar
--exclude='*.pdf' --exclude='*.mp4'
- Jack