Empilhe a saída da tela em colunas para fazer uso da largura da tela e evite a rolagem

1

Costumo usar o comando qstat do gridengine em nosso cluster HPC, mas como tenho muitos trabalhos em execução no cluster, a saída é muito longa para caber na tela e acabo fazendo muita rolagem para ver a parte superior seção da saída. Meu terminal tem espaço suficiente para duas colunas, então seria bom que a saída fluísse em colunas e fosse mostrada lado a lado.

Exemplo usando um arquivo de dados simples: Obviamente, isso deve ser geral para qualquer saída de tela, então, para ilustrar aqui, é um exemplo mais simples:

Meu arquivo data1.txt contém 100 linhas de "This is a test" .

>> cat data1.txt
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
(etc. until 100th line)
>> 

Saída desejada:

>> cat data1.txt | something | something_else -n 2
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
This is a test  This is a test
(etc. until 50 rows)

É claro que seria bom especificar qualquer número arbitrário de colunas.

A única pergunta / resposta semelhante encontrada foi este mas espero que haja uma maneira mais simples de fazer isso em uma linha usando pipes e sem arquivos de script.

    
por feedMe 22.02.2017 / 17:12

1 resposta

2

Acabei de encontrar uma solução; canalize-o para pr .

Para o arquivo de dados de exemplo:

cat data1.txt | pr -2 -l 60

E para qstat :

do gridengine
qstat -f -u "*" | pr -2 -w 270 -l 130

O sinalizador -2 especifica simplesmente duas colunas. Você pode ajustar o parâmetro de largura -w para acomodar melhor a largura colunar original e o parâmetro de comprimento -l para ajustar o número de páginas nas quais a saída é dividida. Para uma saída mais longa, você provavelmente desejará um valor -l mais alto.

    
por 22.02.2017 / 17:12