insert для фильтров
Сигнатура
> insert {flags} (field) (new value)
Параметры
-
field: Имя вставляемого столбца. -
new value: Новое значение ячейки (ячеек).
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| record | record |
| table | table |
| list<any> | list<any> |
Примеры
Вставить новую запись в отдельную запись
> {'name': 'nu', 'stars': 5} | insert alias 'Nushell'
╭───────┬─────────╮
│ name │ nu │
│ stars │ 5 │
│ alias │ Nushell │
╰───────┴─────────╯Вставить новый столбец в таблицу, заполнив все строки
> [[project, lang]; ['Nushell', 'Rust']] | insert type 'shell' ╭───┬─────────┬──────┬───────╮ │ # │ project │ lang │ type │ ├───┼─────────┼──────┼───────┤ │ 0 │ Nushell │ Rust │ shell │ ╰───┴─────────┴──────┴───────╯
Вставить новый столбец со значениями, вычисленными на основе других столбцов
> [[foo]; [7] [8] [9]] | insert bar {|row| $row.foo * 2 }
╭───┬─────┬─────╮
│ # │ foo │ bar │
├───┼─────┼─────┤
│ 0 │ 7 │ 14 │
│ 1 │ 8 │ 16 │
│ 2 │ 9 │ 18 │
╰───┴─────┴─────╯Вставить новое значение в список по индексу
> [1 2 4] | insert 2 3 ╭───┬───╮ │ 0 │ 1 │ │ 1 │ 2 │ │ 2 │ 3 │ │ 3 │ 4 │ ╰───┴───╯
Вставить новое значение в конец списка
> [1 2 3] | insert 3 4 ╭───┬───╮ │ 0 │ 1 │ │ 1 │ 2 │ │ 2 │ 3 │ │ 3 │ 4 │ ╰───┴───╯
Вставить значение во вложенный путь, создавая при необходимости новые значения
> [{} {a: [{}]}] | insert a.0.b "value"
╭───┬───────────────────────────╮
│ # │ a │
├───┼───────────────────────────┤
│ 0 │ ╭───┬───────╮ │
│ │ │ b │ value │ │
│ │ ╰───┴───────╯ │
│ 1 │ ╭───┬───────────────────╮ │
│ │ │ 0 │ {record 0 fields} │ │
│ │ ╰───┴───────────────────╯ │
╰───┴───────────────────────────╯
Примечания
При вставке столбца замыкание будет выполняться для каждой строки, а текущая строка будет передаваться в качестве первого аргумента. При вставке по указанному индексу замыкание вместо этого получит текущее значение по этому индексу или null, если вставка выполняется в конец списка/таблицы.
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/insert.html