2016-10-22 4 views
0

私は、コマンドを実行し、結果の下に取得する:シェルのコマンドでスクリプトの結果から番号を取得する方法は?

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に変えることができ?ありがとう!

+0

を用いて撮影して出力される

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

:複数行の出力については

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

:1つのライン出力について

、-360?最初か二番目?出力は1行か複数行ですか? – SMA

+0

いずれかはOKです。それらは常に等しい。出力には4行あります。 –

答えて

1

あなたのコマンドをsedにパイプすることができます。 : values=,の間の文字列は、あなたが-360の必要が-360後方参照

関連する問題