Możesz użyć, tput
aby przesunąć kursor do danej linii na ekranie, np.
tput cup 11 0
aby przenieść go do dwunastej linii (wartości liczą od zera).
Wzdłuż tych samych linii możesz użyć tput
do wyczyszczenia z tej pozycji do końca ekranu, korzystając z ed
możliwości. Łączenie,
tput cup 11 0 && tput ed
może być tym, czego chciał.
Jeśli chcesz przejść do znacznika połowy ekranu, pierwszy numer jest zwracany przez
stty size
jest (w większości systemów) liczbą rzędów ekranu. Dodanie tego do polecenia:
tput cup $(stty size|awk '{print int($1/2);}') 0 && tput ed
W clear
różni się od programu tput ed
:
- przemieszcza się kursor na głównej pozycji (górny lewy) i
- usuwa się z tego punktu na koniec ekranu.
Uwaga: na niektórych platformach tput ed
może nie działać z powodu problemów rozwiązanych dawno temu. W takich przypadkach aktualizacja konfiguracji curses / ncurses rozwiąże problem.
Jeśli liczba wierszy jest nieparzysta,
tput cup
usuwa całą stronę.napisanie tego w ten sposób powinno naprawić:
źródło
Jeśli chcesz wyczyścić dolną połowę ekranu, zachowując resztę, zadziała to:
EDYCJA: Aby wyjaśnić, jeśli uruchomisz
seq $(stty size | cut -d' ' -f1)
inne odpowiedzi, opuścisz pierwszą połowę wyniku, podczas gdy to polecenie opuści drugą połowę (tj. Najnowszą odpowiedź).źródło