Msort sorts files in sophisticated ways. Records may be fixed size, newline-separated blocks, or terminated by any specified character. Key fields may be selected by position, tag, or character range. For each key, distinct exclusions, multigraphs, substitutions, and a sort order may be defined or locale collation rules used. Comparisons may be lexicographic, numeric, numeric string, hybrid, random, by string length, angle, domain name, date, time, month name, or ISO8601 timestamp. Keys may be reversed so as to generate reverse dictionaries. Optional keys are supported. Unicode is supported, including full case-folding. Msort itself has a somewhat complex command line interface, but may be driven by an optional GUI.
| Tags | Text Processing Linguistic Utilities |
|---|---|
| Operating Systems | POSIX Mac OS X |
| Implementation | Tcl C |
Recent releases


Changes: ISO8601 keys now permit an optional leading sign. Miscellaneous improvements were made in error-checking and reporting, logging, and regression tests.


Changes: It is now possible to set the random number generator seed from the command-line, allowing replication of random sorts. Whatever its origin, the seed used is now reported in the log. More regression tests have been added.


Changes: This release fixes several minor bugs and adds to the test suite.


Changes: This release fixes several bugs and makes some improvements in configuration and installation.


Changes: This release updates case-folding to Unicode 5.1 and fixes several bugs in the handling of time and date keys. It adds the option of sorting only on the first character for those who wish to emulate pre-modern alphabetization. A test suite may now be executed at build time. A number of sort order definitions are now provided. All non-standard configure options are now explained in the README file.
An optimizer for PNG files that can also insert or delete specified chunks.