murex Shell Docs

Command Reference: msort

Sorts an array - data type agnostic

Description

This builtin takes input from stdin, sorts it and the outputs it to stdout.

The code behind msort is significantly more lightweight than UNIX sort. It doesn't work with numeric types (eg sorting floating point numbers), reversed order nor multi-column data. It is specifically designed to work with lists of data. For example arrays in data formats like JSON (json), YAML (yaml) or S-Expressions (sexp); or lists of strings (str). The intention is to cover use cases not already covered by UNIX sort while also providing something rudimentary for murex scripts to function on Windows without having to write lots of ugly platform-specific code. This is also the reason this builtin is called msort rather than conflicting with the existing UNIX name, sort.

Usage

<stdin> -> msort -> <stdout>

Examples

» tout: json (["c", "b", "a"]) -> msort   
[
    "a",
    "b",
    "c"
]

Since msort does not support reversed order, you will need to pipe the output of msort into another builtin:

» tout: json (["c", "b", "a"]) -> msort -> mtac 
[
    "c",
    "b",
    "a"
]

See Also

This site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.

Last built on Wed Jan 12 10:38:51 UTC 2022 against commit 50d6f4550d6f45b79e200b3cbc8e8e2639854a5265c7021.

Current version is 2.4.3010 BETA which has been verified against tests.