rename for filters

Creates a new table with columns renamed.

Signature

> rename ...rest --column --block

Parameters

  • ...rest: the new names for the columns
  • --column {list<string>}: column name to be changed
  • --block {closure(any)}: A closure to apply changes on each column

Input/output types:

inputoutput
recordrecord
tabletable

Examples

Rename a column

> [[a, b]; [1, 2]] | rename my_column
╭───┬───────────┬───╮
│ # │ my_column │ b │
├───┼───────────┼───┤
│ 012 │
╰───┴───────────┴───╯

Rename many columns

> [[a, b, c]; [1, 2, 3]] | rename eggs ham bacon
╭───┬──────┬─────┬───────╮
│ # │ eggs │ ham │ bacon │
├───┼──────┼─────┼───────┤
│ 0123 │
╰───┴──────┴─────┴───────╯

Rename a specific column

> [[a, b, c]; [1, 2, 3]] | rename -c [a ham]
╭───┬─────┬───┬───╮
│ # │ ham │ b │ c │
├───┼─────┼───┼───┤
│ 0123 │
╰───┴─────┴───┴───╯

Rename the fields of a record

> {a: 1 b: 2} | rename x y
╭───┬───╮
│ x │ 1 │
│ y │ 2 │
╰───┴───╯

Rename fields based on a given closure

> {abc: 1, bbc: 2} | rename -b {str replace -a 'b' 'z'}
╭─────┬───╮
│ azc │ 1 │
│ zzc │ 2 │
╰─────┴───╯