uniq for filters

Return the distinct values in the input.

Signature

> uniq {flags}

Flags

  • --count, -c: Return a table containing the distinct input values together with their counts
  • --repeated, -d: Return the input values that occur more than once
  • --ignore-case, -i: Compare input values case-insensitively
  • --unique, -u: Return the input values that occur once only

Input/output types:

inputoutput
list<any>list<any>

Examples

Return the distinct values of a list/table (remove duplicates so that each value occurs once only)

> [2 3 3 4] | uniq
╭───┬───╮
 0 2
 1 3
 2 4
╰───┴───╯

Return the input values that occur more than once

> [1 2 2] | uniq -d
╭───┬───╮
 0 2
╰───┴───╯

Return the input values that occur once only

> [1 2 2] | uniq --unique
╭───┬───╮
 0 1
╰───┴───╯

Ignore differences in case when comparing input values

> ['hello' 'goodbye' 'Hello'] | uniq --ignore-case
╭───┬─────────╮
 0 hello
 1 goodbye
╰───┴─────────╯

Return a table containing the distinct input values together with their counts

> [1 2 2] | uniq --count
╭───┬───────┬───────╮
 # │ value │ count │
├───┼───────┼───────┤
 0     1     1
 1     2     2
╰───┴───────┴───────╯