我想创建一个文件夹的 tar 文件,但该文件夹包含一些 tar.gz 文件,例如 abc.tar.gz、pqr.tar.gz,我不想包含这些文件,那么如何在制作 tar 时排除这些文件
答案1
--exclude=PATTERN
When performing operations, `tar' will skip files that match
PATTERN.
--exclude="*.tar.gz"
--exclude-from=FILE
-X FILE
Similar to --exclude, except `tar' will use the list of patterns
in the file FILE.
--exclude-from="File.txt"
文件.txt
abc.tar.gz
prq.tar.gz
答案2
那么类似这样的情况呢:
find ./ -name '*.tar.gz' > /tmp/excludefiles
tar -czvf newarchive.tar.gz -X /tmp/excludefiles foldertotar/
我还没有测试过。只是知道如何解决。
編輯:
它甚至更简单:
tar -czvf newarchivename.tar.gz --exclude '*.tar.gz' foldertobetarred/
该解决方案已经过测试并且有效。
答案3
您可以使用 tar 中的 --exclude 功能
@tmp$ ls test
abc.tar.gz adfd asdfd dfcvdf dfdf efdfefef pqr.tar.gz test
@tmp$ tar -cvzf test.tar.gz test --exclude="*.tar.gz"
test/
test/adfd
test/dfcvdf
test/test/
test/test/abcd
test/efdfefef
test/dfdf
test/asdfd