22

我有一个多行文档,我希望从中提取特定关键字和之后的单词。它看起来像这样:

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

有没有办法做到这一点?

4

1 回答 1

58

grep(1)有一个-o标志,只输出该行的匹配部分。从手册页

  -o, --only-matching
      Show only the part of a matching line that matches PATTERN.

但是,您的模式不适合获得您想要的输出。尝试:

$ egrep -o 'key \w+' file 
key word1
key word2
于 2013-08-30T18:39:58.970 回答