我試圖找到一種方法在我已經匹配後重新搜索另一個匹配單詞。使用awk來匹配單詞,然後找到另一個單詞的第一個出現
我特別試圖獲得我的顯示器之一的亮度值。比如我xrandr --verbose
的輸出的一部分如下:
DP-1 connected 1920x1080+1920+0 (0x6e) normal (normal left inverted right x axis y axis) 598mm x 336mm
Identifier: 0x46
Timestamp: 73906594
Subpixel: horizontal rgb
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 1
我想查找連接的單詞,然後得到了這個詞亮度的第一次出現。
我已經試過這工作如下:
xrandr --verbose | awk '/ connected /{print $1}/Brightness:/{print $2}'
這給了我下面的輸出,因爲我有兩個顯示器:
LVDS-1
1.0
DP-1
1.0
不過,假設我只想要第一次出現我試過這個結果:
xrandr --verbose | awk '/LVDS-1/{getline; getline; getline; getline; getline; print$0}'
它按照預期給我此特定顯示器的亮度值。
但我不確定亮度值是否總是在5行以後。 所以我一直在尋找更強大的解決方案。
這也是正確的,非常感謝你的詳細答案,我選擇羅馬的答案,但因爲它更短。 –
@ChristosTselepidas,不僅更短,而且會避免多餘的記錄迭代 – RomanPerekhrest