detect columns для строк
Попытаться автоматически разделить текст на несколько столбцов.
Сигнатура
> detect columns {flags}
Флаги
-
--skip, -s {int}: Количество строк, которые нужно пропустить перед обнаружением. -
--no-headers, -n: Не обнаруживать заголовки. -
--ignore-box-chars, -i: Игнорировать строки, состоящие исключительно из символов рамок таблиц, и удалять символы рамок из токенов. -
--combine-columns, -c {range}: Столбцы для объединения; указываются в виде диапазона. -
--guess: Определять столбцы, оценивая ширину; может пригодиться, если алгоритм по умолчанию не работает.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| string | table |
| table | table |
Примеры
Используйте --guess, если алгоритм по умолчанию не работает
> 'Filesystem 1K-blocks Used Available Use% Mounted on none 8150224 4 8150220 1% /mnt/c' | detect columns --guess ╭───┬────────────┬───────────┬──────┬───────────┬──────┬────────────╮ │ # │ Filesystem │ 1K-blocks │ Used │ Available │ Use% │ Mounted on │ ├───┼────────────┼───────────┼──────┼───────────┼──────┼────────────┤ │ 0 │ none │ 8150224 │ 4 │ 8150220 │ 1% │ /mnt/c │ ╰───┴────────────┴───────────┴──────┴───────────┴──────┴────────────╯
обнаружить столбцы без заголовков
> 'a b c' | detect columns --no-headers ╭───┬─────────┬─────────┬─────────╮ │ # │ column0 │ column1 │ column2 │ ├───┼─────────┼─────────┼─────────┤ │ 0 │ a │ b │ c │ ╰───┴─────────┴─────────┴─────────╯
> $'c1 c2 c3 c4 c5(char nl)a b c d e' | detect columns --combine-columns 0..1
Разделить многострочную строку на столбцы, обнаружив заголовки
> $'c1 c2 c3 c4 c5(char nl)a b c d e' | detect columns --combine-columns -2..-1
Разделить многострочную строку на столбцы, обнаружив заголовки
> $'c1 c2 c3 c4 c5(char nl)a b c d e' | detect columns --combine-columns 2..
Разобрать вывод внешней команды ls и объединить столбцы с датой и временем
> ^ls -lh | detect columns --no-headers --skip 1 --combine-columns 5..7
Таблица, заданная литералом, передаётся без изменений
> [[name, age]; [Alice, 25]] | detect columns ╭───┬───────┬─────╮ │ # │ name │ age │ ├───┼───────┼─────┤ │ 0 │ Alice │ 25 │ ╰───┴───────┴─────╯
Список записей передаётся без изменений
> [{name: Alice, age: 25}, {name: Bob, age: 30}] | detect columns
╭───┬───────┬─────╮
│ # │ name │ age │
├───┼───────┼─────┤
│ 0 │ Alice │ 25 │
│ 1 │ Bob │ 30 │
╰───┴───────┴─────╯Разобрать таблицу с рамками, игнорируя разделительные строки и используя позиции заголовков
> "+-------+-------+ | col1 | col2 | +-------+-------+ | a | b | +-------+-------+" | detect columns --ignore-box-chars ╭───┬──────┬──────╮ │ # │ col1 │ col2 │ ├───┼──────┼──────┤ │ 0 │ a │ b │ ╰───┴──────┴──────╯
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/detect_columns.html