Vous pouvez utiliser tput
pour déplacer le curseur sur une ligne donnée de l'écran, par exemple,
tput cup 11 0
pour le déplacer jusqu'à la douzième ligne (les valeurs comptent à partir de zéro).
Dans le même ordre d'idées, vous pouvez utiliser tput
pour effacer de cette position jusqu'à la fin de l'écran, en utilisant la ed
capacité. Combiner,
tput cup 11 0 && tput ed
pourrait être ce que l'on voulait.
Si vous voulez aller à mi-chemin sur l'écran, le premier chiffre renvoyé par
stty size
est (sur la plupart des systèmes) le nombre de lignes de l'écran. Ajout de cela à la commande:
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
Le clear
programme diffère de tput ed
:
- il déplace le curseur sur la position d' origine (en haut à gauche) et
- s'efface de ce point à la fin de l'écran.
Avertissement: sur certaines plates tput ed
- formes, il est possible que certaines fonctionnalités ne fonctionnent pas en raison de problèmes résolus depuis longtemps. Dans ces cas, la mise à niveau de votre configuration curses / ncurses résoudra le problème.
Si le nombre de lignes est impair,
tput cup
efface toute la page.l'écrire comme ceci devrait corriger cela:
la source
Si vous souhaitez effacer la moitié inférieure de l'écran tout en conservant le reste, cela fonctionnera:
EDIT: Pour clarifier, si vous exécutez
seq $(stty size | cut -d' ' -f1)
les autres réponses laisseront la première moitié de la sortie, tandis que cette commande laissera la seconde moitié (c'est-à-dire la sortie la plus récente).la source