murex Shell Docs

Command Reference: [ (index)

Outputs an element from an array, map or table

Description

Outputs an element or multiple elements from an array, map or table.

Please note that indexes in murex are counted from zero.

Usage

<stdin> -> [ element ] -> <stdout>
$variable[ element ] -> <stdout>

<stdin> -> ![ element ] -> <stdout>

Examples

Return the 2nd (1), 4th (3) and 6th (5) element in an array:

» ja [0..9] -> [ 1 3 5 ]
[
    "1",
    "3",
    "5"
]

Return the data-type and description of config shell syntax-highlighting:

» config -> [[ /shell/syntax-highlighting ]] -> [ Data-Type Description ]
[
    "bool",
    "Syntax highlighting of murex code when in the interactive shell"
]

Return all elements except for 1 (2nd), 3 (4th) and 5 (6th):

» a: [0..9]-> ![ 1 3 5 ]
0
2
4
6
7
8
9

Return all elements except for the data-type and description:

» config -> [[ /shell/syntax-highlighting ]] -> ![ Data-Type Description ]
{
    "Default": true,
    "Dynamic": false,
    "Global": true,
    "Value": true
}

Return the top 5 processes from ps, ordered by memory usage:

» ps aux -> [PID %MEM COMMAND] -> sort -nrk2 -> [..5]
915961  14.4  /home/lau/dev/go/bin/gopls
916184  4.4   /opt/visual-studio-code/code
108025  2.9   /usr/lib/firefox/firefox
1036    2.4   /usr/lib/baloo_file
915710  1.9   /opt/visual-studio-code/code

Return the 1st and 30th row:

» ps aux -> [*1 *30]
USER    PID     %CPU    %MEM    VSZ     RSS     TTY     STAT    START   TIME    COMMAND
root    37      0.0     0.0     0       0       ?       I<      Dec18   0:00    [kworker/3:0H-events_highpri]

Return the 1st and 5th column:

» ps aux -> [*A *E] -> head -n5                                                                                                                                                                                                       
USER    VSZ
root    168284
root    0
root    0
root    0

Detail

Index counts from zero

Indexes in murex behave like any other computer array in that all arrays start from zero (0).

Include vs exclude

As demonstrated in the examples above, [ specifies elements to include where as ![ specifies elements to exclude.

Don’t error upon missing elements

By default, index generates an error if an element doesn’t exist. However you can disable this behavior in config

» config -> [ foobar ]
Error in `[` ((builtin) 2,11): Key 'foobar' not found

» config set index silent true

» config -> [ foobar ]

Synonyms

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 Mon Feb 13 09:18:06 UTC 2023 against commit f339958f33995895c1d997efcdbb8408d2c8d45f8b5f934.

Current version is which has been verified against 13950 tests cases.