where для фильтров
Подпись
> where {flags} (row_condition)
Параметры
-
row_condition: Условие фильтрации
Типы входных/выходных данных:
| Вход | Выход |
|---|---|
| список<любой> | список<любой> |
| диапазон | любой |
| таблица | таблица |
Примеры
Фильтрация строк таблицы в соответствии с условием
> [{a:1} {a:2}] |wherea>1
╭───┬───╮
│# │ a │
├───┼───┤
│0│2│
╰───┴───╯
Фильтрация элементов списка в соответствии с условием
> [12] |where {|x| $x>1}
╭───┬───╮
│0│2│
╰───┴───╯
Вывод всех файлов в текущем каталоге с размером больше 2 Кб
>ls|wheresize>2kb
Вывод только файлов в текущем каталоге
>ls|wheretype==file
Вывод всех файлов с именами, содержащими "Car"
>ls|wherename=~"Car"
Вывод всех файлов, измененных в течение последних двух недель
>ls|wheremodified>= (date now) -2wk
Поиск файлов, имена которых не начинаются с правильной последовательной цифры
>ls|wheretype==file|sort-byname-n|enumerate|where {|e| $e.item.name!~$'^($e.index+1)' } |each {|| getitem }
Поиск файлов с именем "readme" без явного закрытия (регистронезависимый поиск)
>ls|where ($it.name|str downcase) =~readme
то же самое, но только с использованием регулярных выражений
>ls|wherename=~'(?i)readme'
Примечания
Эта команда работает аналогично команде 'filter', но позволяет использовать дополнительные сокращения для работы с таблицами, известные как «условия строк». С другой стороны, чтение условия из переменной не поддерживается.
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/where.html