Распределение выходных данных до максимального количества столбцов

У меня есть сценарий bash foo который предоставляет мне много коротких строк вывода. Подумайте, ls -1 . Чтобы получить более компактную презентацию, я хотел бы распространять вывод по нескольким столбцам, например ls -C .

Я знаю, что такие конструкции, как

 foo | paste - - - | column -t -s $'\t' 

даст мне фиксированное количество столбцов, в этом случае три. Как я могу динамически регулировать количество столбцов до ширины вывода и ширины терминала, чтобы всегда использовать максимальное количество столбцов?

Решение на самом деле почти слишком просто:

 foo | column 

без каких-либо аргументов в column трюк. Я думаю, что я никогда не использовал column без -t раньше. Спасибо steeldriver за предложение оставить этот аргумент.

Другой вариант: echo $(foo) | fold где вы можете указать -w WIDTH использовать что-то не 80 столбцов.