2013-08-01 193 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

相關問題