count
)Count items in a map, list or array
Counts the number of items in a structure, be that a list, map or other object type.
count
has several modes ranging from updating values in place, returning new structures, or just outputting totals.
<stdin> -> count [ --duplications | --unique | --total ] -> <stdout>
Count number of items in a map, list or array:
» tout json (["a", "b", "c"]) -> count
3
--bytes
Count the total number of bytes read from stdin--duplications
Output a JSON map of items and the number of their occurrences in a list or array--runes
Count the total number of unicode characters (runes) read from stdin. Zero width symbols, wide characters and other non-typical graphemes are all each treated as a single rune--sum
Read an array, list or map from stdin and output the sum of all the values (ignore non-numeric values)--sum-strict
Read an array, list or map from stdin and output the sum of all the values (error on non-numeric values)--total
Read an array, list or map from stdin and output the length for that array (default behaviour)--unique
Print the number of unique elements in a list or array-b
Alias for --bytes
* -d
Alias for --duplications
* -r
Alias for --runes
* -s
Alias for --sum
* -t
Alias for --total
* -u
Alias for --unique
If no flags are set, count
will default to using --total
.
--total
/ -t
This will read an array, list or map from stdin and output the length for that array.
» a [25-Dec-2020..05-Jan-2021] -> count
12
This also replaces the older
len
method.
Please note that this returns the length of the array rather than string. For example out "foobar" -> count
would return 1
because an array in the str
data type would be new line separated (eg out "foo\nbar" -> count
would return 2
). If you need to count characters in a string and are running POSIX (eg Linux / BSD / OSX) then it is recommended to use wc
instead. But be mindful that wc
will also count new line characters.
» out "foobar" -> count
1
» out "foo\nbar" -> count
2
» out "foobar" -> wc: -c
7
» out "foo\nbar" -> wc: -c
8
» printf "foobar" -> wc: -c
6
# (printf does not print a trailing new line)
--duplications
/ -d
This returns a JSON map of items and the number of their occurrences in a list or array.
For example in the quote below, only the word “the” is repeated so that entry will have a value of 2
while ever other entry has a value of 1
because they only appear once in the quote.
» out "the quick brown fox jumped over the lazy dog" -> jsplit \s -> count --duplications
{
"brown": 1,
"dog": 1,
"fox": 1,
"jumped": 1,
"lazy": 1,
"over": 1,
"quick": 1,
"the": 2
}
--unique
/ -u
Returns the number of unique elements in a list or array.
For example in the quote below, only the word “the” is repeated, thus the unique count should be one less than the total count:
» out "the quick brown fox jumped over the lazy dog" -> jsplit \s -> count --unique
8
» out "the quick brown fox jumped over the lazy dog" -> jsplit \s -> count --total
9
count
len
append
): Add data to the end of an arrayja
): A sophisticated yet simply way to build a JSON arraymap
): Creates a map from two data sourcesta
): A sophisticated yet simple way to build an array of a user defined data-type[ ..Range ]
: Outputs a ranged subset of data from stdin[ Index ]
): Outputs an element from an array, map or table[[ Element ]]
): Outputs an element from a nested structuretout
): Print a string to the stdout and set it’s data-typeprepend
): Add data to the start of an arraymtac
): Reverse the order of an arraymsort
): Sorts an array - data type agnosticjsplit
): Splits stdin into a JSON array based on a regex parameterjsplit
): Splits stdin into a JSON array based on a regex parametera
): A sophisticated yet simple way to stream an array or list (mkarray)This document was generated from builtins/core/datatools/count_doc.yaml.
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 Sat Nov 23 00:50:15 UTC 2024 against commit 69c17da69c17da3bd9db98ca508f6a03a402f074ee24cec.
Current version is 6.4.0375 (develop) which has been verified against tests cases.