Вы можете использовать tput
для перемещения курсора на заданную строку на экране, например,
tput cup 11 0
переместить его в двенадцатую строку (значения отсчитываются от нуля).
В том же ключе, вы можете использовать tput
для очистки от этой позиции до конца экрана, используя эту ed
возможность. Объединение,
tput cup 11 0 && tput ed
может быть то, что хотел.
Если вы хотите перейти к метке на полпути на экране, первое число, возвращенное
stty size
это (в большинстве систем) количество строк экрана. Добавляя это к команде:
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
В clear
программе отличается от tput ed
:
- он перемещает курсор в исходное положение (вверху слева) и
- очищает от этой точки до конца экрана.
Предостережение: на некоторых платформах tput ed
может не работать из-за проблем, исправленных давно. В этих случаях обновление конфигурации curses / ncurses решит проблему.
Если количество строк нечетное, тогда
tput cup
очищается вся страница.написание этого должно исправить это:
источник
Если вы заинтересованы в очистке нижней части экрана при сохранении остальных, это будет работать:
РЕДАКТИРОВАТЬ: Чтобы уточнить, если вы запустите
seq $(stty size | cut -d' ' -f1)
другие ответы оставят первую половину вывода, в то время как эта команда покинет вторую половину (то есть, самый последний вывод).источник