| Developer's Daily | Unix by Example |
| main | java | perl | unix | dev directory | web log |
|
sq − squeeze a sorted word list unsq − unsqueeze a sorted word list |
|
sq < infile > outfile unsq < infile > outfile |
|
sq compresses a sorted list of words (a dictionary). For example: |
|
sort /usr/dict/words | sq | compress > words.sq.Z |
|
will compress dict by about a factor of 4. unsq uncompress the output of sq. For example: |
|
compress -d < words.sq.Z | 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. |
|
Mike Wexler |
|
compress(1), sort(1). |