smartctl -a コマンドの出力は次のとおりです。
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 301
次のようにbashスクリプトの変数に(正しい用語の場合)入れました。
$SMARTCTL_OUTPUT=`smartctl -a /dev/sda`
行末の数字だけが変数に返されるように解析したいので、上記の例では301
変数に入れます$POWER_ON_HOURS
。
私はgrepを使ってみました。
$SMARTCTL_OUTPUT=`smartctl -a /dev/sda | grep "Power_On_Hours"`
しかし、これは9 Power_On_Hours 0x0032 100 100 000 Old_age Always -
私が興味のない別のテキスト()を返します。
行末の数字だけを返すことはできますか?
ベストアンサー1
使用するとawk '{print $NF}'
目的が達成されます。$NF
最後のフィールドを参照します。アッデータ抽出に使用される言語です。
AWKプログラムは、次のように書かれた一連のパターン作業ペアです。
''条件'' { ''作業'' }
awk '{print $NF}'
最後のフィールドは常に印刷されます。