str expand для строк
Подпись
> str expand {flags}
Флаги
-
--path, -: Заменяет все обратные слеши на двойные обратные слеши, полезно для путей.
Типы ввода/вывода:
| ввод | вывод |
|---|---|
| список<строка> | список<список<строка>> |
| строка | список<строка> |
Примеры
Определите диапазон в фигурных скобках, чтобы получить список строк.
>"{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, monami!│
╰───┴───────────────────╯
Используйте двойные обратные слеши, чтобы добавить обратный слэш.
>'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│
╰───┴──────╯
Примечания
Этот синтаксис может показаться знакомым с glob {A,B}.C. Разница в том, что glob опирается на файловую систему, а str expand — нет. В фигурные скобки мы помещаем варианты. В основном, мы создаём все возможные результаты.
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/str_expand.html