Очистить половину экрана из командной строки

Не ответ, но полезная информация;

обычный способ обновления:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
> (now change the apt/sources)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

т.е. вы всегда должны быть уверены, что находитесь на последней стабильной версии, прежде чем переходить на другие репозитории.

и как первый способ решения проблем с dpkg, вы можете попробовать следующее:

sudo dpkg --configure -a

для исправления / повторной попытки неудачных действий dpkg, и вы можете попросить apt попытаться исправить любые проблемы с пакетами, выполнив:

sudo apt-get -f install

это либо получит недостающие зависимости, либо откатит неудачную установку.

в любом случае он попытается исправить вашу apt db для вас.

UPDATE:

не уверен, почему -1, debian утверждает то же самое с добавлением "apt full-upgrade".

https://www.debian.org/doc/manuals/debian-handbook/sect.dist-upgrade.en.html

также OP должен быть в состоянии решить проблему с помощью dpkg configure / apt-get --fix-broken.

10
22.07.2016, 12:23
3 ответа

Если вы хотите очистить нижнюю половину экрана, сохранив при этом остальную часть, это сработает:

half=$(stty size | awk '{print int($1/2)-1;}'); for i in `seq ${half}`; do echo '' ; done && tput cup ${half} 0 && tput ed

РЕДАКТИРОВАТЬ :Чтобы уточнить, если вы запустите seq $(stty size | cut -d' ' -f1), другие ответы оставят первую половину вывода, а эта команда оставит вторую половину (, то есть самый последний вывод ).

-1
27.01.2020, 20:02

Если количество строк нечетное, то tput cupочищает всю страницу.
запись таким образом должна исправить это:

tput cup $(($(stty size|awk '{print $1}')/2)) 0 && tput ed
0
27.01.2020, 20:02

Ссылаясь на ответ

# Get ceiling eg: 7/2 = 4
ceiling_divide() {
  ceiling_result=$((($1+$2-1)/$2))
}

clear_rows() {
  POS=$1
  # Insert Empty Rows to push & preserve the content of screen
  for i in {1..$((LINES-POS-1))}; echo
  # Move to POS, after clearing content from POS to end of screen
  tput cup $((POS-1)) 0
}

# Clear quarter
alias ptop='ceiling_divide $LINES 4; clear_rows $ceiling_result'
# Clear half
alias pmid='ceiling_divide $LINES 2; clear_rows $ceiling_result'
# Clear 3/4th
alias pdown='ceiling_divide $((3*LINES)) 4; clear_rows $ceiling_result'
1
20.08.2020, 18:17

Теги

Похожие вопросы