diff --git a/README.md b/README.md new file mode 100644 index 0000000..087b60e --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# catarc + +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. +* ... + +## Installation + +`pip install catarc` + +## Dependencies + +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! + +## Usage + + catarc *.7z | grep "something"` + + catarc one.zip two.rar three.tar.gz | grep "something" + + catarc access.*.gz > access.log.total + +## Arguments + +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: + + >1m,<2g,=3t + +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. + +## Bugs + +No known bugs. If you find any, please do report them.