我想提取使用 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
请您参考如下方法:
这与一般情况不符,但适用于您的示例:
awk '/^open|^close|^total/{print $2}' input
对于一般情况,如果您对“字符串”的定义基于空格,也许您想要:
tr -s ' \n' \\n < input | awk 'p{print; p=0} {p=/^open|^close|^total/}'