1

を使用xrandr | grep '*'して、ネットワーク上のすべてのモニターの x 解像度を見つけたいと思います。これは、他のスクリプトでの xterm の自動配置を支援するためのものです。

一部のシステムは 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 で強調表示されているものと同じ文字列が返されます。どちらの場合も、望ましい出力は 1680 です

ヒントはありますか?

4

1 に答える 1

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

上記の例では、1つのXをに変更し、18888行を追加*して、それらの場合に機能することを示していません。

xdpyinfoを使用して試すことができる別の方法

 xdpyinfo| grep dimens|grep -oP '(?<=\s)\d+'
于 2013-03-19T10:12:24.407 に答える