我从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 -
我不感兴趣的其他文本()。
我可以只返回行尾的数字吗?
使用awk '{print $NF}'
将达到目的。$NF
指最后一个字段。Awk是一种用于数据提取的语言。
AWK程序是一系列模式操作对,写为:
``条件''{``动作''}
awk '{print $NF}'
将始终打印最后一个字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句