我有很多文本文件需要搜索字符串,然后返回后面的值。例如,我的文件可能如下所示:
text
text
text
a = 12 b = 14 String = 25
text
我想搜索“String”,然后返回25.我尝试使用
grep -i "String" filename.out
但这给了我整条线。我找到了很多关于查找特定字符串的信息,但没有找到紧随其后的字符串。提前谢谢。
答案 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