select для фильтров
Выбирает из входных данных только указанные столбцы или строки. Противоположность `reject`.
Сигнатура
> select {flags} ...rest
Флаги
-
--optional, -o: Сделать все компоненты пути ячейки необязательными (для отсутствующих значений возвращаетnull). -
--ignore-case: Не учитывать регистр для всех компонентов пути ячейки. -
--ignore-errors, -i: Игнорировать отсутствующие данные (сделать все компоненты пути ячейки необязательными) (устарело).
Параметры
-
...rest: Столбцы, которые нужно выбрать из таблицы.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| record | record |
| table | table |
| list<any> | any |
| SQLiteQueryBuilder | SQLiteQueryBuilder |
Примеры
Выбрать столбец в таблице.
> [{a: a b: b}] | select a
╭───┬───╮
│ # │ a │
├───┼───┤
│ 0 │ a │
╰───┴───╯Выбрать столбец, даже если в некоторых строках этот столбец отсутствует.
> [{a: a0 b: b0} {b: b1}] | select -o a
╭───┬────╮
│ # │ a │
├───┼────┤
│ 0 │ a0 │
│ 1 │ │
╰───┴────╯Выбрать поле в записи.
> {a: a b: b} | select a
╭───┬───╮
│ a │ a │
╰───┴───╯Выбрать только столбец name.
> ls | select name
Выбрать первые четыре строки (это то же самое, что first 4).
> ls | select 0 1 2 3
Выбрать несколько столбцов.
> [[name type size]; [Cargo.toml toml 1kb] [Cargo.lock toml 2kb]] | select name type ╭───┬────────────┬──────╮ │ # │ name │ type │ ├───┼────────────┼──────┤ │ 0 │ Cargo.toml │ toml │ │ 1 │ Cargo.lock │ toml │ ╰───┴────────────┴──────╯
Выбрать несколько столбцов, развернув список.
> let cols = [name type]; [[name type size]; [Cargo.toml toml 1kb] [Cargo.lock toml 2kb]] | select ...$cols ╭───┬────────────┬──────╮ │ # │ name │ type │ ├───┼────────────┼──────┤ │ 0 │ Cargo.toml │ toml │ │ 1 │ Cargo.lock │ toml │ ╰───┴────────────┴──────╯
Примечания
Это отличается от get тем, что вместо доступа к указанному значению в структуре данных удаляются все невыбранные значения. Поэтому применение select к таблице вернёт таблицу, к списку — список, а к записи — запись.
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/select.html