如何將資料夾中的 bzip2 檔案遞歸到單一 bz2 文件

如何將資料夾中的 bzip2 檔案遞歸到單一 bz2 文件

我遇到這個問題,我需要找到具有特定名稱的所有檔案並將它們全部壓縮到一個 zip 檔案中。

我厭倦了諸如此類的事情

find . -not -name "*bz2" -name "myname*"  -exec bzip2 test.bz2 {} +;

and

find . -not -name "*bz2" -name "myname*"  -exec bzip2 test.bz2 {} /;

和許多其他的,但它總是將它們分開拉鍊。需要它是一個 bzip 檔案。

答案1

Bzip 無法將多個檔案連接到一個檔案(如 ZIP)。 Bzip 僅用於壓縮單一檔案(如 Gzip)。

如果要在壓縮存檔中包含多個文件,請先使用 Tar 建立多個文件的存檔,然後對該單一存檔進行 bzip。

你可以使用:

 find . -not -name "*bz2" -name "myname*" | xargs tar -jcvf archive.tar.bz2 

xargs將把找到的所有檔案名稱放在 Tar 指令之後(tar 的正常語法是tar -jcvf archivename.tar.bz2 file1 file2 file3 ...)。

相關內容