Я пытаюсь взять некоторые данные из одного столбца и отобразить их в виде столбца в формате tty, как это делает ls
. По сути, вы можете думать об этом как о попытке взять вывод из ls -1
и сделать его похожим на обычный вывод ls
, где оптимизировано число столбцов и пространство, выделенное для каждого столбца.
Команду column нельзя легко заставить занять определенную ширину, а утилита pr
не изменяет динамически количество столбцов.
Имея все доступные команды синтаксического анализа текста , я просто не могу поверить, что нет никакого способа сделать это из коробки.
Это будет довольно сложный небольшой сценарий оболочки, потому что для расчета оптимальной ширины столбца вам нужно знать, сколько элементов будет в вашем столбце (чтобы вычислить длину самого длинного элемента), которого вы не знаете, пока не выясните, сколько будет столбцов, что зависит от ширины каждого столбца. Из-за круговых рассуждений кажется, что итеративное уточнение - единственный путь. Не сложно, но не однострочно. Встроенное было бы намного лучшим решением, если бы оно существовало.