我正在尝试在字符串和第一个空格之间grep值

时间:2015-01-29 17:01:41

标签: regex grep

我正在尝试在字符串和第一个空格之间grep值。

我的文件包含ex:

speed:10 temp_min:-14 temp_max:10 
speed:5 temp_min:-12 temp_max:10 

我想得到

grep "temp_min" file
-14
-12

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

使用grep -oP

grep -oP 'temp_min:\K\S+' file
-14
-12

或使用awk

awk -F 'temp_min:' '{split($2, a, " "); print a[1]}' file
-14
-12

或使用`sed:

sed 's/.*temp_min:\([^[:blank:]]*\) .*/\1/' file
-14
-12

答案 1 :(得分:1)

grep -oP '(?<=temp_min:)[^ ]+' file.

如果你的grep支持-P,你可以尝试一下。参见演示。

https://regex101.com/r/zM7yV5/14