2017-06-28 5 views
0

シェルコマンドの出力をフィルタリングしようとしました pmset -g batt。 MacOSのバッテリー状態に関する情報を表示します。出力は私のためにMacBookのShell/Shスクリプト - シェルスクリプトの出力をフィルタリングする方法は?

Now drawing from 'AC Power' -InternalBattery-0 (id=XXXXXXX) 87%; charging; (no estimate) present: true

であり、私はちょうどit's = 1つのまたは0

感謝を充電するように充電するかどう変数と変数として87%を持つようにしたいです!

答えて

0

あなたbashを使用している場合は、行うことができます:

read percent charg <<< $(pmset -g batt | awk 'NR<3{printf "%s ", $NF }' RS=\;) 

を変数percentchargを割り当てること。これは、整数値ではなく、後者への文字列「チャージ」を保証します。

あなたはherestring構文を受け入れるシェルを使用していない場合は、あなたが行うことができます:

read percent charg << EOF 
$(pmset -g batt | awk 'NR<3{printf "%s ", $NF}' RS=\;) 
EOF 
+0

私の出力はawkの 'です:奇妙なprintfの変換% 入力レコード番号1、ファイル ソース行番号1 AWK:奇妙なprintfの変換% 入力レコード番号1、ファイル ソース線:のprintfに十分な引数(100%) 入力レコード番号1は、出力がAWK 'である99%とすぐ ソース行番号1' –

+0

ファイルnumber 1 awk:printfに十分な引数がありません(99%) 入力レコード番号1、ファイル ソース行番号1 ' –

+0

そして、私が$%をエコーし​​ようとすると出力はありません。 –

関連する問題