Parece-me que você poderia usar:
H=$(xrandr | awk '$1 ~ /^[[:digit:]]+x[[:digit:]]+$/ && $2 ~ /^[[:digit:]]+\.[[:digit:]]+$/ && $3 == "+" { print substr($1, index($1, "x")+1) }')
xrandr --output VGA-0 --mode 1366x$H
Aqui está o programa awk bem formatado:
'$1 ~ /^[[:digit:]]+x[[:digit:]]+$/ && \
$2 ~ /^[[:digit:]]+\.[[:digit:]]+$/ && \
$3 == "+" \
{ print substr($1, index($1, "x")+1) }'
Comecei com um simples $3 == "+"
, que parece pegar a linha correta, mas adicionei alguma paranoia com $1
e $2
checking. A linha print
imprime uma porção de $ 1: depois de computar a posição do "x" nas dimensões, pulando um lugar após ela, imprime a partir daí até o final de $ 1.