Я бы хотел отформатировать текстовое содержимое, которое получаю как поток stdout, используя column
, но мне не удалось.Например, используя одну строку, все работает нормально:
$ echo "1 12 123 1234 1 12 123 1234 " | column -t
1 12 123 1234 1 12 123 1234
.. однако, если я пытаюсь смоделировать "бесконечный" поток:
$ while true; do echo "1 12 123 1234 1 12 123 1234 "; sleep 1; done | column -t
^C
... естьпросто нет ответа, пока один не выйдет с Ctrl-C.
(Обратите внимание, что вещь while
предназначена только для симуляции чтения бесконечного потока с устройства, как в 'cat /dev/ttyUSB0
')
Это заставляет меня верить, что даже еслиcolumn
по умолчанию должен принимать стандартный ввод, для работы ему нужен «завершенный» и готовый файл (то есть с определенным размером файла);и в случае «бесконечного» потока это не так - поэтому он никогда ничего не выводит.
Любое предложение о том, как я мог бы добиться форматирования столбцов в этом контексте?РЕДАКТИРОВАТЬ: не обязательно должен быть column
программа;все остальное, что форматирует текст в столбцы, было бы хорошо (но я боюсь, например, awk
также нужен полный файл) ...
Заранее спасибо,
Ура!