Puede usar tput
para mover el cursor a una línea determinada en la pantalla, por ejemplo,
tput cup 11 0
para moverlo a la duodécima línea (los valores cuentan desde cero).
En la misma línea, puede usar tput
para borrar desde esa posición hasta el final de la pantalla, utilizando la ed
capacidad. Combinatorio,
tput cup 11 0 && tput ed
podría ser lo que se quería.
Si desea ir a la mitad de la pantalla, el primer número devuelto por
stty size
es (en la mayoría de los sistemas) el número de filas de la pantalla. Agregando eso al comando:
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
El clear
programa difiere de tput ed
:
- mueve el cursor a la posición de inicio (arriba a la izquierda) y
- se borra desde ese punto hasta el final de la pantalla.
Advertencia: en algunas plataformas tput ed
puede no funcionar debido a problemas solucionados hace mucho tiempo. En esos casos, la actualización de la configuración de curses / ncurses solucionará el problema.
Si el recuento de líneas es impar,
tput cup
borra toda la página.escribirlo así debería arreglar eso:
fuente
Si está interesado en limpiar la mitad inferior de la pantalla mientras mantiene el resto, esto funcionará:
EDITAR: para aclarar, si ejecuta
seq $(stty size | cut -d' ' -f1)
las otras respuestas, dejará la primera mitad de la salida, mientras que este comando dejará la segunda mitad (es decir, la salida más reciente).fuente