我有一个包含文本和数字的文本文件,我想使用grep只提取我需要的数字,例如,给定一个文件如下:
miss rate 0.21
ipc 222
stalls n shdmem 112
所以说我只想提取错过率为0.21的数据.我如何用grep或sed做到这一点?另外,我需要多个号码,而不仅仅是未命中率之后的号码.也就是说,我可能想要得到0.21和112.示例输出可能如下所示:
0.21 222 112
因为我需要以后绘图的数据.
最佳答案
使用awk代替:
原文链接:https://www.f2er.com/linux/440370.htmlawk '/^miss rate/ { print $3 }' yourfile
要使用grep来完成它,你需要非标准扩展,比如这里使用GNRE grep使用PCRE(-P)和正向lookbehind(?< = ..)并且只匹配(-o):
grep -Po '(?<=miss rate ).*' yourfile