A solução é na verdade quase simples demais:
foo | column
sem nenhum argumento para column faz o truque. Acho que nunca usei ativamente column sem -t antes. Graças a steeldriver pela sugestão de deixar de fora este argumento.
Eu tenho um script bash foo que me fornece muitas linhas curtas de saída. Pense em ls -1 . Para obter uma apresentação mais compacta, gostaria de distribuir a saída em várias colunas, como ls -C .
Eu sei que construções como
foo | paste - - - | column -t -s $'\t'
me dará um número fixo de colunas, neste caso três. Como posso dinamicamente ajustar o número de colunas para a largura de saída e a largura do terminal, de modo que eu sempre use o número máximo de colunas?
Outra opção: echo $(foo) | fold , onde você pode especificar -w WIDTH para usar algo diferente de 80 colunas.