Automatically migrated from Gitolite

Sven Slootweg 802bab81dd Added README 7 years ago
.gitignore 91365814b8 Initial commit 7 years ago 802bab81dd Added README 7 years ago
catarc 08e48f2460 Add .rar support 7 years ago 0df8964626 Bump to version 1.1 7 years ago


A tool to output archives and compressed files to stdout.

Use cases

  • Grep through multiple archives (of different types) without unpacking them.
  • Unpack multiple 7z archives to stdout, ignoring errors (7z will choke on corrupted archives).
  • Concatenate multiple archived logfiles into one file.
  • ...


pip install catarc


You'll need the following binaries, depending on what kinds of archives you wish to extract:

  • tar (.tar, .tar.gz, .tar.bz2, .tar.xz)
  • 7zip (.7z)
  • gzip (.gz, .tar.gz)
  • bzip2 (.bz2, .tar.bz2)
  • xz (.xz, .tar.xz)
  • unzip (.zip)
  • unrar (.rar)

Note that .tar.* types have two dependencies!


catarc *.7z | grep "something"`

catarc two.rar three.tar.gz | grep "something"

catarc access.*.gz >


Optionally, you can use the -s switch to specify a certain filesize requirement for a file to be processed. This specification is in the following format:


You can use any of these combinations, but obviously only one specification per operator. Valid suffixes are k, m, g, t.

Functionality and behaviour

catarc will attempt to unpack the following types:

  • .7z
  • .tar
  • .tar.gz
  • .tar.bz2
  • .tar.xz
  • .gz
  • .bz2
  • .xz
  • .zip
  • .rar

When a file is encountered that is none of the above types, catarc will write a warning to stderr and skip the file. If you are missing a dependency, catarc will tell you so.


No known bugs. If you find any, please do report them.