如何从stdin中提取tar存档?

时间:2012-07-17 14:23:46

标签: pipe stdin tar pipeline

我有一个大的tar文件split。是否可以cat并使用管道解压缩文件。

类似的东西:

cat largefile.tgz.aa largefile.tgz.ab | tar -xz

而不是:

cat largefile.tgz.aa largfile.tgz.ab > largefile.tgz
tar -xzf largefile.tgz

我一直在四处寻找,但我找不到答案。我想看看是否有可能。

1 个答案:

答案 0 :(得分:56)

使用-作为输入文件:

cat largefile.tgz.aa largefile.tgz.ab | tar zxf -

确保按照拆分顺序捕捉它们。

如果您使用的是zsh,则可以使用multios功能并避免调用cat:

< largefile.tgz.aa < largefile.tgz.ab tar zxf -

或者如果它们按字母顺序排列:

<largefile.tgz.* | tar zxf -