63

I have a large tar file I split. Is it possible to cat and untar the file using pipeline.

Something like:

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

instead of:

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

I have been looking around and I can't find the answer. I wanted to see if it was possible.

kenorb
  • 155,785
  • 88
  • 678
  • 743
Charlie
  • 931
  • 1
  • 6
  • 10

1 Answers1

99

Use - as the input file:

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

Make sure you cat them in the same order they were split.

If you're using zsh you can use the multios feature and avoid invoking cat:

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

Or if they are in alphabetical order:

<largefile.tgz.* | tar zxf -
Thor
  • 45,082
  • 11
  • 119
  • 130