使用xrandr | grep '*'
我想找到我们网络上所有显示器的x分辨率。这是为了帮助在其他脚本中自动放置xterms。
我们的一些系统正在运行redhat 6.4和其他redhat 5.8,而xrandr的结果因redhat版本而异
对于redhat 6.4 xrandr | grep '*'
返回
1680x1050 60.0*+
和redhat 5.8
*0 1680 x 1050 ( 474mm x 303mm ) *50
我尝试了xrandr | grep '*' | sed 's/\s+\(\d\{4\}\)\s*x\s*\d+/\1/'
,但这会返回与上面突出显示的5.8和6.4相同的字符串。
任何提示?
答案 0 :(得分:1)
试试这一行:
xrandr|grep -Po '\d+(?=\s*x.*\*.*)'
示例:
kent$ echo '1680x1050 60.0*+
*0 8888 x 1050 ( 474mm x 303mm ) *50
without star'|grep -Po '\d+(?=\s*x.*\*.*)'
1680
8888
在上面的示例中,我将一个X更改为8888
并添加了不带*
的oneline,以表明它适用于这些情况。
您可以使用 xdpyinfo
尝试另一种方法 xdpyinfo| grep dimens|grep -oP '(?<=\s)\d+'