我有一个多行文档,希望从中提取特定的关键字,然后提取其中的单词。看起来像这样:
This is key word1 line 1.
This is line 2.
This is key word2 line 3.
如果我使用
egrep 'key [^s]+ '
,则输出为:This is key word1 line 1.
This is key word2 line 2.
但是,我希望输出仅是匹配项,而不是整行,即:
key word1
key word2
有没有办法做到这一点?
最佳答案
grep(1)
具有-o
标志,该标志仅输出该行的匹配部分。从man page:
-o, --only-matching Show only the part of a matching line that matches PATTERN.
但是,您的模式不适合获得所需的输出。尝试:
$ egrep -o 'key \w+' file
key word1
key word2
关于regex - 仅返回正则表达式匹配项,而不返回整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18539494/