grep:如何获取两段文本之间的数字



我想grep我的cpu温度。

当我输入时:ipmi-sensors -s 2352我得到:2352: CPU Temp (Temperature): 30.00 C (NA/81): [OK]

我想在"(温度):"one_answers"C"之间键入数字

使用grep -oP:

ipmi-sensors -s 2352 | grep -oP '(Temperature):s*K[d.]+'
30.00

如果您的grep不支持-P选项,请使用此awk:

ipmi-sensors -s 2352 | awk -F '.*\(Temperature\): *| C .*' '{print $2}'
30.00

也可以尝试这种方式

ipmi-sensors -s 2352 | awk -F'[: ]' '{print $7}'

sed版本

ipmi-sensors -s 2352 | sed 's/[^)]+): ([^ ]+).*/1/'

输出:

30.00

最新更新