如何搜索'String'并立即返回值?

时间:2014-01-09 15:14:36

标签: linux text grep

我有很多文本文件需要搜索字符串,然后返回后面的值。例如,我的文件可能如下所示:

text
text
text
a =  12  b =  14 String =  25
text

我想搜索“String”,然后返回25.我尝试使用

grep -i "String" filename.out

但这给了我整条线。我找到了很多关于查找特定字符串的信息,但没有找到紧随其后的字符串。提前谢谢。

3 个答案:

答案 0 :(得分:3)

试试这个:

grep -iPo '\bstring\s*=\s*\K\S*'

答案 1 :(得分:0)

你可以试试这个

grep -oi "String *= *[0-9]*" filename.out|grep -o "[0-9]*"

我认为有一些最性感的方式可以实现;)

答案 2 :(得分:0)

以下是使用awk

的一种方法
awk -F "String =[ ]*" '/String/ {print $2}' filename.out
25

如果String后面可能还有其他变量,请使用:

awk -F "String =" '/String/ {split($2,a," ");print a[1]}' filename.out
25