2016-10-22 22 views
0

我運行一個命令,並得到如下結果:如何通過shell命令從腳本結果中獲取編號?

numid=181,iface=MIXER,name='pcm1_in Gain 0 Volume' 
    ; type=INTEGER,access=rw---R--,values=2,min=-1440,max=360,step=0 
    : values=-360,-360 
    | dBscale-min=-144.00dB,step=0.10dB,mute=0 

我需要得到的值-360,並且這個值可以改變從-1440到360如何使用一些shell命令和正則表達式來做到這一點?謝謝!

+0

-360需要的-360哪個輸出,-360?第一還是第二?輸出是單行還是多行? – SMA

+0

可以。他們總是平等的。輸出有4行。 –

回答

1

您可以將您的命令傳遞給sed。

對於一行輸出:

yourcommand | sed -n 's/.*: values=\(-*[^,]*\),.*/\1/p' 

對於多輸出:

yourcommand | sed -n ':a;$!N;s/\n/ /;ta;s/.*: values=\(-*[^,]*\),.*/\1/p' 

: values=,之間的字符串被捕獲,並通過反向引用

相關問題