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