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.