Limite o número de linhas mostradas por vez executando o comando

Limite o número de linhas mostradas por vez executando o comando

Tenho alguns comandos que estou executando no terminal que geram tudo o que fazem, o que é ótimo, mas não preciso que minha janela inteira seja preenchida com milhares de linhas de entrada. Existe uma maneira de fazer com que apenas o último número x de linhas geradas seja exibido e o restante seja removido?

Responder1

Você pode usar o comando tail. Ele listará apenas as últimas linhas de um arquivo, especificado pelo usuário. Também listará apenas as últimas linhas em tempo real, se desejar. tail -n 5 imprimirá as últimas 5 linhas. Basta fazer man tail para obter outras opções.

Responder2

Sem saber para quais comandos você está vendo muita saída, posso dizer que você pode limitar a quantidade de linhas emitidas no terminal com o comando tail usando um "pipe" para enviar a saída do primeiro comando para o segundo comando. Um exemplo seria:

ls | tail -n 5  

Em vez de enviar a saída do comando ls para a tela, ele a envia (ou canaliza) para o comando tail. O comando tail aqui imprimirá as últimas 5 linhas da saída ls devido à especificação de "-n 5".

Responder3

A saída do console são apenas linhas escritas uma por uma em um fluxo de saída (saída padrão ou erro padrão). As janelas do console e os aplicativos de terminal apenas os exibem, rolando os anteriores para cima. Eles não podem apagar nenhuma linha já impressa. Você precisa:

  1. Um aplicativo de console/terminal com a capacidade integrada de omitir todos, exceto o últimonlinhas ao redesenhar ao receber uma nova linha; isso pode ser possível, mas não sei como.
  2. Um aplicativo adicional que pode fazer isso, iniciado no console como um wrapper para seu aplicativo; screene tmuxprovavelmente posso fazer isso, mas não sei como.
  3. Um aplicativo que pode fazer isso para o qual você canaliza a saída do console do seu aplicativo; multitailcaberá aqui, por exemplo:

    find | env LINES=10 multitail -j
    

    exibirá a saída de find, nunca mostrando mais de 10 linhas de uma vez.

Você não declarou o sistema operacional em que está, mas multitailestá disponível para Linux, por exemplo, como um pacote Ubuntu.

informação relacionada