compact, uncompact, ccat - compress and uncompress files, and cat them
SYNOPSIScompact [ -v ] [ name ... ]
uncompact [ -v ] [ name ... ]
ccat [ -v ] [ file ... ]
Compact compresses the named files using an adaptive Huffman code. If
no file names are given, the standard input is compacted to the stan‐
dard output. Compact operates as an on-line algorithm. Each time a
byte is read, it is encoded immediately according to the current prefix
code. This code is an optimal Huffman code for the set of frequencies
seen so far. It is unnecessary to prepend a decoding tree to the com‐
pressed file since the encoder and the decoder start in the same state
and stay synchronized. Furthermore, compact and uncompact can operate
as filters. In particular,
... | compact | uncompact | ...
operates as a (very slow) no-op.
When an argument file is given, it is compacted and the resulting file
is placed in file.C; file is unlinked. The first two bytes of the com‐
pacted file code the fact that the file is compacted. This code is
used to prohibit recompaction.
The amount of compression to be expected depends on the type of file
being compressed. Typical values of compression are: Text (38%), Pas‐
cal Source (43%), C Source (36%) and Binary (19%). These values are
the percentages of file bytes reduced.
Uncompact restores the original file from a file compressed by compact.
If no file names are given, the standard input is uncompacted to the
Ccat cats the original file from a file compressed by compact, without
uncompressing the file (it is just a shell script which directs the
uncompacted output to the standard output).
Compact, uncompact, and ccat normally do their work silently. If a -v
flag is supplied, compact will report the compression percentage for
each compacted file while uncompact and ccat will print out the name of
each file as they're uncompacted.
The last segment of the filename must be short enough to allow space
for the appended '.C'.
*.C compacted file created by compact, removed by uncompact
Gallager, Robert G., `Variations on a Theme of Huffman', I.E.E.E.
Transactions on Information Theory, vol. IT-24, no. 6, November 1978,
pp. 668 - 674.
Colin L. Mc Master
4th Berkeley Distribution April 2, 1994 COMPACT(1)