compact, uncompact, ccat - compact and uncompact files, and cat them
compact [name ...]
uncompact [name ...]
ccat [file ...]
compact compresses the named files using an adaptive Huffman code. If
no file names are given, standard input is compacted and sent to the
standard 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 attach a decoding tree
in front of the compressed file because 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, the resulting file is
placed in file.C, and file is unlinked. The first two bytes of the
compacted file code the fact that the file is compacted. These bytes
are used to prohibit recompaction.
The amount of compression to be expected depends on the type of file
being compressed. Typical file size reduction (in percent) through
compression are: Text, 38%; Pascal Source, 43%; C Source, 36%; and
uncompact restores the original file from a file compressed by
compact. If no file names are specified, standard input is uncompacted
and sent to the standard output.
ccat cats the original file from a file compressed by compact, without
uncompressing the file.
Access Control Lists (ACLs)
On systems that implement access control lists, when a new file is
created with the effective user and group ID of the caller, the
original file's ACL is copied to the new file after being altered to
reflect any change in ownership (see acl(5) and aclv(5)). In JFS file
systems, files created by compact, uncompact or ccat do not inherit
their parent directory's default ACL entries (if any), but instead
retain their original ACLs. When a file being compacted or
uncompacted resides on a JFS file system, and the compacted or
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
uncompacted file resides on an HFS file system (or vice versa), as the
result of ccat or the use of compact or uncompact as a filter,
optional ACL entries are lost.
On short-filename systems, the last segment of the file name must
contain 12 or fewer characters to allow space for the appended .C.
Access control list entries of networked files are summarized (as
returned in st_mode by stat()), but not copied to the new file (see
*.C compacted file created by compact, removed by uncompact
compress(1), pack(1), acl(5), aclv(5).
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.
compact was developed by Colin L. Mc Master.
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000