|
|
1.1 ! root 1: .\" Copyright (c) 1980 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)compact.1 6.1 (Berkeley) 4/29/85 ! 6: .\" ! 7: .TH COMPACT 1 "April 29, 1985" ! 8: .UC 4 ! 9: .SH NAME ! 10: compact, uncompact, ccat \- compress and uncompress files, and cat them ! 11: .SH SYNOPSIS ! 12: .B compact ! 13: [ ! 14: .B \-v ! 15: ] [ name ... ] ! 16: .br ! 17: .B uncompact ! 18: [ ! 19: .B \-v ! 20: ] [ name ... ] ! 21: .br ! 22: .B ccat ! 23: [ ! 24: .B \-v ! 25: ] [ file ... ] ! 26: .SH DESCRIPTION ! 27: .I Compact ! 28: compresses the named files using an adaptive Huffman code. If no file ! 29: names are given, the standard input is compacted to the standard output. ! 30: .I Compact ! 31: operates as an on-line algorithm. Each time a byte is read, ! 32: it is encoded immediately according to the current prefix code. ! 33: This code is an optimal Huffman code for the set of frequencies seen so far. ! 34: It is unnecessary to prepend a decoding tree to the compressed file ! 35: since the encoder and the decoder start in the same state and stay ! 36: synchronized. Furthermore, ! 37: .I compact ! 38: and ! 39: .I uncompact ! 40: can operate as filters. In particular, ! 41: .sp ! 42: ... | compact | uncompact | ... ! 43: .br ! 44: .sp ! 45: operates as a (very slow) no-op. ! 46: .PP ! 47: When an argument ! 48: .I file ! 49: is given, it is compacted and the resulting file is placed in ! 50: .I file.C; ! 51: .I file ! 52: is unlinked. The first two bytes of the compacted file code the ! 53: fact that the file is compacted. This code is used to prohibit recompaction. ! 54: .PP ! 55: The amount of compression to be expected depends on the type of file being ! 56: compressed. Typical values of compression are: ! 57: Text (38%), Pascal Source (43%), C Source (36%) and Binary (19%). ! 58: These values are the percentages of file bytes reduced. ! 59: .PP ! 60: .I Uncompact ! 61: restores the original file from a file compressed by ! 62: .I compact. ! 63: If no file names are given, the standard input is uncompacted to ! 64: the standard output. ! 65: .PP ! 66: .I Ccat ! 67: cats the original file from a file compressed by ! 68: .I compact, ! 69: without uncompressing the file (it is just a shell script which ! 70: directs the uncompacted output to the standard output). ! 71: .PP ! 72: .IR Compact , ! 73: .IR uncompact , ! 74: and ! 75: .I ccat ! 76: normally do their work silently. If a ! 77: .B \-v ! 78: flag is supplied, ! 79: .I compact ! 80: will report the compression percentage for each compacted ! 81: file while ! 82: .I uncompact ! 83: and ! 84: .I ccat ! 85: will print out the name of each file as they're uncompacted. ! 86: .SH RESTRICTION ! 87: The last segment of the filename must be short enough ! 88: to allow space for the appended '.C'. ! 89: .SH FILES ! 90: .ta 1i ! 91: *.C compacted file created by compact, removed by uncompact ! 92: .SH "SEE ALSO" ! 93: Gallager, Robert G., `Variations on a Theme of Huffman', ! 94: .I "I.E.E.E. Transactions on Information Theory," ! 95: vol. IT-24, no. 6, November 1978, pp. 668 - 674. ! 96: .SH AUTHOR ! 97: Colin L. Mc Master
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.