【发布时间】:2016-07-13 13:35:50
【问题描述】:
我想提取使用 grep 或诸如此类的特定单词之后的下一个单词/数字。
举个例子,这就是我在标准输出中所拥有的
string-a0 match-a1 string-a2 string-a3
string-b0 string-b1 match-b2 string-b3
match-c0 string-c1 string-c2 string-c3
我只想留下这个
string-a2
string-b3
string-c1
注意match-a1 != match-b2 != match-c0
编辑
一个具体的例子……
标准输出是这个
open 0.23 date ...
close 1.52 date ...
open 2.34 date ...
close 5.92 date ...
open 10.78 date ...
close 24.21 date ...
total 45.3
我正在搜索单词open、close 和total,所以输出应该是
0.23
1.52
2.34
5.92
10.78
24.21
45.3
【问题讨论】:
-
为什么第 1 行是 string-a2 而不是 string-a0?
-
因为我想要匹配后的 next 字符串
-
您能详细说明您的匹配条件吗?或者一个更好的例子来说明你正在尝试做什么?
-
我以为我做到了...我会再试一次
-
我不知道 bash,但我想正则表达式会是
match-[abc][012] (\S+)并抓住第一个捕获组。
标签: regex linux bash shell grep