compact, uncompact, ccat - compress and uncompress files, and cat them
The command compresses the named files using an adaptive Huffman code.
If no file names are given, the standard input is compacted to the
standard output. The command 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 fre‐
quencies seen so far. It is unnecessary to prepend a decoding tree to
the compressed file since the encoder and the decoder start in the same
state and stay synchronized. Furthermore, and can operate as filters.
... | 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.
The command restores the original file from a file compressed by If no
file names are given, the standard input is uncompacted to the standard
The command cats the original file from a file compressed by without
uncompressing the file.
The command is present only for compatibility. In general, the command
runs faster and gives better compression.
The last segment of the file name must contain fewer than thirteen
characters to allow space for the appended '.C'.
compacted file created by compact, removed by uncompact