Distribuição de saída para um número máximo de colunas

2

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?

    
por klimpergeist 09.07.2015 / 14:00

2 respostas

2

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.

    
por 09.07.2015 / 15:25
0

Outra opção: echo $(foo) | fold , onde você pode especificar -w WIDTH para usar algo diferente de 80 colunas.

    
por 09.07.2015 / 14:22

Tags