GNU/Linux |
Debian 7.5.0(Wheezy) |
|
![]() |
unsq(1) |
![]() |
sq, unsq − squeeze or unsqueeze a sorted word list
sq < infile > outfile
unsq < infile > outfile
sq compresses a sorted list of words (a dictionary). For example:
sort −u /usr/share/dict/words | sq | gzip −9 > words.sq.gz
will compress dict by about a factor of 5.
unsq uncompress the output of sq. For example:
gunzip < words.sq.gz | unsq | sort −f −o words
will uncompress a dictionary compressed with sq.
The squeezing is achieved by eliminating common prefixes, and replacing them with a single character which encodes the number of characters shared with the preceding word. The prefix size is encoded as a single printable character: 0-9 represent 0-9, A-Z represent 10-35, and a-z represent 36-61.
sq and unsq can only handle words of up to 256 characters. The input must be sorted, and duplicates must be suppressed.
Mike Wexler
compress(1), sort(1).
![]() |
unsq(1) | ![]() |