Você pode usar tput para mover o cursor para uma determinada linha na tela, por exemplo,
tput cup 11 0
para movê-lo para a décima segunda linha (valores contados a partir de zero).
Na mesma linha, você pode usar tput para limpar dessa posição até o final da tela, usando o recurso ed . Combinando,
tput cup 11 0 && tput ed
pode ser o que se queria.
Se você quiser ir até a metade da marca na tela, o primeiro número retornado por
stty size
é (na maioria dos sistemas) o número de linhas da tela. Adicionando isso ao comando:
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
O programa clear difere de tput ed :
- move o cursor para a posição home (canto superior esquerdo) e
- desaparece desse ponto até o final da tela.