正则表达式 – 如何仅使用grep / sed提取子字符串和数字

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何仅使用grep / sed提取子字符串和数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个包含文本和数字的文本文件,我想使用grep只提取我需要的数字,例如,给定一个文件如下:

miss rate 0.21  
ipc 222  
stalls n shdmem 112

所以说我只想提取错过率为0.21的数据.我如何用grep或sed做到这一点?另外,我需要多个号码,而不仅仅是未命中率之后的号码.也就是说,我可能想要得到0.21和112.示例输出可能如下所示:

0.21 222 112

因为我需要以后绘图的数据.

最佳答案
使用awk代替:

awk '/^miss rate/ { print $3 }' yourfile

要使用grep来完成它,你需要非标准扩展,比如这里使用GNRE grep使用PCRE(-P)和正向lookbehind(?< = ..)并且只匹配(-o):

grep -Po '(?<=miss rate ).*' yourfile
原文链接:https://www.f2er.com/linux/440370.html

猜你在找的Linux相关文章