Spec-Zone.ru › Nushell

str expand для строк

Создаёт все возможные комбинации, заданные синтаксисом раскрытия фигурных скобок.

Сигнатура

> str expand {flags}

Флаги

  • --path: Заменяет все обратные косые черты двойными обратными косыми чертами; полезно для Path.

Типы входных и выходных данных:

вход выход
string list<string>
list<string> list<list<string>>

Примеры

Укажите диапазон в фигурных скобках, чтобы получить список строк.

> "{3..5}" | str expand
╭───┬───╮
│ 0 │ 3 │
│ 1 │ 4 │
│ 2 │ 5 │
╰───┴───╯

Игнорирует следующий символ после обратной косой черты ('').

> 'A{B\,,C}' | str expand
╭───┬─────╮
│ 0 │ AB, │
│ 1 │ AC  │
╰───┴─────╯

Запятые, которые не находятся внутри фигурных скобок, пропускаются.

> 'Welcome\, {home,mon ami}!' | str expand
╭───┬───────────────────╮
│ 0 │ Welcome, home!    │
│ 1 │ Welcome, mon ami! │
╰───┴───────────────────╯

Используйте две обратные косые черты, чтобы добавить обратную косую черту.

> 'A{B\\,C}' | str expand
╭───┬─────╮
│ 0 │ AB\ │
│ 1 │ AC  │
╰───┴─────╯

Преобразуйте значения, разделённые запятыми и заключённые в фигурные скобки ({}), в список строк.

> "{apple,banana,cherry}" | str expand
╭───┬────────╮
│ 0 │ apple  │
│ 1 │ banana │
│ 2 │ cherry │
╰───┴────────╯

Если переданные данные — это путь, можно использовать флаг --path; в противном случае замените обратные косые черты двойными вручную.

> 'C:\{Users,Windows}' | str expand --path
╭───┬────────────╮
│ 0 │ C:\Users   │
│ 1 │ C:\Windows │
╰───┴────────────╯

Выражения в фигурных скобках можно использовать одно за другим.

> "A{b,c}D{e,f}G" | str expand
╭───┬───────╮
│ 0 │ AbDeG │
│ 1 │ AbDfG │
│ 2 │ AcDeG │
│ 3 │ AcDfG │
╰───┴───────╯

Коллекция может содержать пустой элемент. Его можно поместить в начало списка.

> "A{,B,C}" | str expand
╭───┬────╮
│ 0 │ A  │
│ 1 │ AB │
│ 2 │ AC │
╰───┴────╯

Пустой элемент может находиться в конце коллекции.

> "A{B,C,}" | str expand
╭───┬────╮
│ 0 │ AB │
│ 1 │ AC │
│ 2 │ A  │
╰───┴────╯

Пустой элемент может находиться в середине коллекции.

> "A{B,,C}" | str expand
╭───┬────╮
│ 0 │ AB │
│ 1 │ A  │
│ 2 │ AC │
╰───┴────╯

Кроме того, можно вкладывать одно выражение в другое. Вот пример из реальной жизни, который создаёт файлы.

> "A{B{1,3},C{2,5}}D" | str expand
╭───┬──────╮
│ 0 │ AB1D │
│ 1 │ AB3D │
│ 2 │ AC2D │
│ 3 │ AC5D │
╰───┴──────╯

Поддерживается дополнение нулями в числовых диапазонах.

> "A{08..10}B{11..013}C" | str expand
╭───┬──────────╮
│ 0 │ A08B011C │
│ 1 │ A08B012C │
│ 2 │ A08B013C │
│ 3 │ A09B011C │
│ 4 │ A09B012C │
│ 5 │ A09B013C │
│ 6 │ A10B011C │
│ 7 │ A10B012C │
│ 8 │ A10B013C │
╰───┴──────────╯

Примечания

Этот синтаксис может показаться знакомым по glob {A,B}.C. Разница в том, что glob опирается на файловую систему, а str expand — нет. Внутри фигурных скобок указываются варианты. Затем создаются все возможные результаты.

Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/str_expand.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API