2016-05-31 8 views
0

は(upower -i /org/freedesktop/UPower/devices/battery_BAT1)私の端末は次の出力を表示する必要があります。は「grepの」複数の出力は、このコマンドを使用する

native-path:   BAT1 
    vendor:    LG 
    power supply:   yes 
    updated:    mar 31 may 2016 12:45:15 CEST (101 seconds ago) 
    has history:   yes 
    has statistics:  yes 
    battery 
    present:    yes 
    rechargeable:  yes 
    state:    fully-charged 
    warning-level:  none 
    energy:    50,4088 Wh 
    energy-empty:  0 Wh 
    energy-full:   51,4522 Wh 
    energy-full-design: 48,1 Wh 
    energy-rate:   6,29 W 
    voltage:    8,313 V 
    percentage:   97% 
    capacity:   100% 
    icon-name:   'battery-full-charged-symbolic' 

は、私は、出力のデータの配列を取得する必要があります。このようなもの:[BAT1, LG, yes, [...], 100%, 'battery-full-charged-symbolic']

これは何ですか?

+0

あなたはBashアレイですか? –

答えて

0

出力は一般的な列ベースのテキストです。 (デリミタは:です)。 awkを使用して、希望するフォーマットにフォーマットすることができます。

upower cmd...|awk -F':\\s*' '{printf "%s%s",(NR==1?"[":", "), $2}END{print "]"}' 

はあなたを与える:

var = ($(upowerOutput | grep -oE ':.+$' | sed -e 's/^[ \t:]*//')) 

grep部分が必要なフィールドをフェッチし、sedは先頭のスペースと:をトリミングするために使用されます。

[BAT1, LG, yes, mar 31 may 2016 12, yes, yes, , yes, yes, fully-charged, none, 50,4088 Wh, 0 Wh, 51,4522 Wh, 48,1 Wh, 6,29 W, 8,313 V, 97%, 100%, 'battery-full-charged-symbolic'] 
+0

私は試しましたが、うまくいきませんでした。このコマンドは何も返しません。 – Viral

+0

ああ、今それは動作します。しかし、私が本当に望むのは、すべての出力を配列で保存することです。可能だ? – Viral

+0

「配列」についてどのコンテキストを話しているのか分かりません。必要なだけの出力形式を提供します。 – Kent

0

あなたが好きなものを試すことができます。

関連する問題