将多个 gzip 压缩文件合并到一个 tar 文件中
combine multiple gzip compressed files in a tar file
我有一个非常大的 tar 文件,其中包含许多 gzip 文件。我想将所有 gzip 文件组合成一个 gzip 文件并放在另一个目录中。要查看 tar 文件的内容,我使用:
tar -zxvf Big.tar
给出:
Big/FileA.gz
Big/FileB.gz
Big/FileC.gz
Big/FileD.gz
为了正常合并多个 gzip 文件,我会移动到该目录并使用:
cat FileA.gz FileB.gz FileC.gz FileD.gz > BigFile.gz
但是 BigFile.gz 将保留在该目录中。我只是不确定如何在 tar 文件中执行此操作以及如何将组合文件写入另一个目录。
使用 tar 并假设文件夹 Big 有 FileA.gz、FileB.gz 等:
tar -czv -f /path/to/final/BigFile.gz -C Big .
使用 GNU tar,您可以:
tar -Oxf Big.tar --wildcards 'Big/*.gz' > /tmp/your_file.gz
使用 OS X tar,您必须单独列出文件:
tar -Oxf Big.tar Big/FileA.gz Big/FileB.gz > /tmp/your_file.gz
两者的显着特征是-O
,它将文件写入标准输出。
以下是 GNU 系统上的示例抄本:
$ pwd
/home/me
$ tar tf Big.tar
Big/
Big/foo.txt.gz
Big/bar.txt.gz
$ tar -Oxf Big.tar --wildcards 'Big/*.gz' > /tmp/your_file.gz
$ zcat /tmp/your_file.gz
This is the contents of foo.txt
This is the contents of bar.txt
我有一个非常大的 tar 文件,其中包含许多 gzip 文件。我想将所有 gzip 文件组合成一个 gzip 文件并放在另一个目录中。要查看 tar 文件的内容,我使用:
tar -zxvf Big.tar
给出:
Big/FileA.gz
Big/FileB.gz
Big/FileC.gz
Big/FileD.gz
为了正常合并多个 gzip 文件,我会移动到该目录并使用:
cat FileA.gz FileB.gz FileC.gz FileD.gz > BigFile.gz
但是 BigFile.gz 将保留在该目录中。我只是不确定如何在 tar 文件中执行此操作以及如何将组合文件写入另一个目录。
使用 tar 并假设文件夹 Big 有 FileA.gz、FileB.gz 等:
tar -czv -f /path/to/final/BigFile.gz -C Big .
使用 GNU tar,您可以:
tar -Oxf Big.tar --wildcards 'Big/*.gz' > /tmp/your_file.gz
使用 OS X tar,您必须单独列出文件:
tar -Oxf Big.tar Big/FileA.gz Big/FileB.gz > /tmp/your_file.gz
两者的显着特征是-O
,它将文件写入标准输出。
以下是 GNU 系统上的示例抄本:
$ pwd
/home/me
$ tar tf Big.tar
Big/
Big/foo.txt.gz
Big/bar.txt.gz
$ tar -Oxf Big.tar --wildcards 'Big/*.gz' > /tmp/your_file.gz
$ zcat /tmp/your_file.gz
This is the contents of foo.txt
This is the contents of bar.txt