Sorts an array - data type agnostic
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,
<stdin> -> msort -> <stdout>
» tout: json (["c", "b", "a"]) -> msort [ "a", "b", "c" ]
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" ]
@[(range): Outputs a ranged subset of data from STDIN
[[(element): Outputs an element from a nested structure
[(index): Outputs an element from an array, map or table
a(mkarray): A sophisticated yet simple way to build an array or list
alter: Change a value within a structured data-type and pass that change along the pipeline without altering the original source input
append: Add data to the end of an array
count: Count items in a map, list or array
ja(mkarray): A sophisticated yet simply way to build a JSON array
jsplit: Splits STDIN into a JSON array based on a regex parameter
mtac: Reverse the order of an array
prepend: Add data to the start of an array
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 Thu Oct 13 08:08:18 UTC 2022 against commit ed6b6fced6b6fc609f4be93c5d3348695a762facfecf48f.
Current version is 2.11.2200 which has been verified against 16798 tests cases.