【发布时间】:2015-04-30 19:01:29
【问题描述】:
我有一个非常大的 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 文件的其余问题。您是在问如何获取 tarball 中的文件并从中制作一个位 concat-ed gzip 文件? -
@EtanReisner 出于某种原因,当我在“>”之后使用完整路径时,它仍然将文件放在与文件最初所在的目录相同的目录中。我想这不是我的问题中最重要的部分,因为我以后总是可以移动它。基本上我想知道如何连接压缩包中的文件(最好将连接的 gzip 文件写在压缩包之外)
-
这是不可能的。如果您在
>之后放置一个完整(er)路径,它将使用该完整(er)路径。它不能使用其他任何东西。