是否有一种简单的解决方案也可以提取匹配的单词之前的一个单词和之后的一个单词?例如,假设以下文本
... put returns between paragraphs ...
... the function returns void ...
returns
的搜索应该返回put returns between
function returns void
我不是 bash 专家,但可以将以下内容放在一起
grep -o -P "(?:[a-zA-Z'-]+[^a-zA-Z'-]+){1}returns(?:[^a-zA-Z'-]+[a-zA-Z'-]+){1}" TEXT.FILE
但不确定这是否能解决所有问题。
最佳答案
只需告诉 grep
只匹配 <word> + returns + <word>
:
$ grep -Eo '\w+ returns \w+' file
put returns between
function returns void
关于regex - 匹配前后的Grep词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40884950/