Текущий размер окна xterm
Я хотел бы знать размеры моего текущего окна xterms. Я использую Cygwin. Есть ли команда, чтобы просто напечатать это в подсказку?
4 ответа
Если это фактический xterm, должно работать следующее (проверено на сеансе PuTTY, так как на данный момент Cygwin не установлен):
stty -a | sed 's/;/\n/g' | grep rows | awk '{print $2}'
В моем случае это вернулось 24
, Так же,
stty -a | sed 's/;/\n/g' | grep columns | awk '{print $2}'
возвращенный 80
,
Все задействованные команды должны быть стандартными в Cygwin или любой UNIX-подобной системе. Я был бы очень удивлен, если бы они не работали одинаково хорошо в командной строке Cygwin.
Дает вам размер в символах:
echo $COLUMNS " " $LINES
Работает ли это в cygwin? Вы говорите нам!
Установите ncurses
пакет, затем выполните
tput cols; tput lines
Если вы хотите избежать поиска и заменить регулярное выражение и команду sed...
Примечание: Запустите stty -a отдельно, чтобы определить положение значения строк.
stty -a | grep rows | tr -d ';' | awk {'print $5'}
В моем случае (xterm в Open Solaris под управлением Gnome) это вернулось 24.
Если вы хотите избежать использования поиска и заменить регулярное выражение, sed и awk...
stty -a | grep rows | tr -d ';' | cut -d ' ' -f 5
Опять 24.
Если вы хотите избежать использования поиска и заменить регулярные выражения, sed, grep и awk...
stty -a | head -n 1 | tr -d ';' | cut -d ' ' -f 5
Опять 24.
Вы можете найти ширину вашего терминала, просто изменив одну из этих команд так, чтобы она указывала на значение столбцов stty -a.
Если вам не нравится использование stty -a ...
resize | grep LINES | tr -d ';' | cut -d = -f 2
а также
resize | grep COLUMNS | tr -d ';' | cut -d = -f 2