$ echo host01.host.name | grep --only-matching '[0-9]*'
01
Он использует базовое регулярное выражение [0-9]*
для поиска и --only-matching
GNU Grep (или, возможно, -o
для другого Grep) для фильтрации вывода.
У меня была примерно такая же ситуация, и приведенный выше ответ является одним из наиболее полных объяснений того, как это исправить, но мне пришлось пройти еще один уровень, чтобы мой 32-дюймовый Samsung отображал разрешение 2560x1440.
gtf — это метод, используемый выше для получения таймингов, который в основном работает, но он не дал мне режим с разрешением 2560x1440. Я использовал программу cvt, с необходимым для этого переключателем -r (, и не подходит для crt, только устройства, которые могут жить без гашения ).
~% cvt -r 2560 1440 60
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
Этот режим синхронизации, используемый по аналогии с информацией выше, предоставленной gtf, работал как шарм. Я все еще хотел бы, чтобы это «запекалось» в системе X11
, но я сделал скрипт для создания, добавления и затем переключения в режим, так что он отлично работает.
И мои стареющие глаза любят огромный монитор. Ничто не превосходит избытка...
(Ниже приведен сценарий для добавления и переключения режима)
#!/bin/bash
# Used to get timing: cvt -r 2560 1440 60
xrandr --newmode "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
xrandr --addmode HDMI1 "25 60x1440R"
xrandr --output HDMI1 --mode "2560x1440R"
Я согласен, что это почти решение. Это поставило мой экран в правильное разрешение.
$ cvt 1920 1080 60
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Однако с двумя большими черными столбцами в левой и правой части экрана. Я предполагаю, что какой-то оверскан.
Поэтому мне пришлось искать некоторые значения, полученные во время загрузки из xorg.log.
$ grep 1080 /var/log/Xorg.0.log
[ 2316.000] (II) modeset(0): Modeline "1920x1080"x0.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
Таким образом, после замены значений cvt значениями Xorg.0.log я получил правильный вид экрана.
$ xrandr --newmode "1920x1080_60.00" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync