Limite el número de líneas que se muestran a la vez ejecutando el comando

Limite el número de líneas que se muestran a la vez ejecutando el comando

Tengo algunos comandos que estoy ejecutando en la terminal y que generan todo lo que hacen, lo cual es genial, pero no necesito que toda mi ventana esté llena con miles de líneas de entrada. ¿Hay alguna manera de hacer que solo se muestre el último x número de líneas generadas y que el resto se elimine?

Respuesta1

Puedes usar el comando tail. Enumerará solo las últimas líneas de un archivo, especificado por el usuario. Si lo desea, también enumerará solo las últimas líneas en tiempo real. tail -n 5 imprimirá las últimas 5 líneas. Simplemente haz man tail para obtener otras opciones.

Respuesta2

Sin saber para qué comandos está viendo muchos resultados, puedo decir que puede limitar la cantidad de líneas generadas en el terminal con el comando tail usando una "tubería" para enviar la salida del primer comando al segundo comando. Un ejemplo sería:

ls | tail -n 5  

En lugar de enviar la salida del comando ls a la pantalla, la envía (o canaliza) al comando tail. El comando tail aquí imprimirá las últimas 5 líneas de la salida de ls debido a que se especificó "-n 5".

Respuesta3

La salida de la consola son solo líneas escritas una por una en un flujo de salida (salida estándar o error estándar). Las ventanas de consola y las aplicaciones de terminal simplemente las muestran, desplazándose hacia arriba las anteriores. No pueden borrar ninguna línea ya impresa. Necesitas, ya sea:

  1. Una aplicación de consola/terminal con la capacidad incorporada de omitir todos menos el últimonortelíneas al volver a dibujar al recibir una nueva línea; esto puede ser posible, pero no sé cómo.
  2. Una aplicación adicional que puede hacer esto, iniciada desde la consola como contenedor para su aplicación; screenY tmuxprobablemente pueda hacerlo, pero no sé cómo.
  3. Una aplicación que puede hacer esto a la que canaliza la salida de la consola de su aplicación; multitailencajará aquí, por ejemplo:

    find | env LINES=10 multitail -j
    

    mostrará el resultado de find, nunca mostrando más de 10 líneas a la vez.

No ha indicado el sistema operativo en el que se encuentra, pero multitailestá disponible para Linux, por ejemplo, como un paquete de Ubuntu.

información relacionada