sort for filters

Sort in increasing order.

Signature

> sort {flags}

Flags

  • --reverse, -r: Sort in reverse order
  • --ignore-case, -i: Sort string-based data case-insensitively
  • --values, -v: If input is a single record, sort the record by values; ignored if input is not a single record
  • --natural, -n: Sort alphanumeric string-based values naturally (1, 9, 10, 99, 100, ...)

Input/output types:

input output
list<any> list<any>
record record

Examples

sort the list by increasing value

> [2 0 1] | sort
╭───┬───╮
│ 0 │ 0 │
│ 1 │ 1 │
│ 2 │ 2 │
╰───┴───╯

sort the list by decreasing value

> [2 0 1] | sort --reverse
╭───┬───╮
│ 0 │ 2 │
│ 1 │ 1 │
│ 2 │ 0 │
╰───┴───╯

sort a list of strings

> [betty amy sarah] | sort
╭───┬───────╮
│ 0 │ amy   │
│ 1 │ betty │
│ 2 │ sarah │
╰───┴───────╯

sort a list of strings in reverse

> [betty amy sarah] | sort --reverse
╭───┬───────╮
│ 0 │ sarah │
│ 1 │ betty │
│ 2 │ amy   │
╰───┴───────╯

Sort strings (case-insensitive)

> [airplane Truck Car] | sort -i
╭───┬──────────╮
│ 0 │ airplane │
│ 1 │ Car      │
│ 2 │ Truck    │
╰───┴──────────╯

Sort strings (reversed case-insensitive)

> [airplane Truck Car] | sort -i -r
╭───┬──────────╮
│ 0 │ Truck    │
│ 1 │ Car      │
│ 2 │ airplane │
╰───┴──────────╯

Sort record by key (case-insensitive)

> {b: 3, a: 4} | sort
╭───┬───╮
│ a │ 4 │
│ b │ 3 │
╰───┴───╯

Sort record by value

> {b: 4, a: 3, c:1} | sort -v
╭───┬───╮
│ c │ 1 │
│ a │ 3 │
│ b │ 4 │
╰───┴───╯