Reputation: 357
I have a multiline document from which I'm looking to extract a particular keyword and the word after that. It looks like this:
This is key word1 line 1.
This is line 2.
This is key word2 line 3.
If I use egrep 'key [^s]+ '
, the output is:
This is key word1 line 1.
This is key word2 line 2.
However, I'd like the output to be the match only as opposed to the whole line, that is:
key word1
key word2
Is there a way to do that?
Upvotes: 28
Views: 46015
Reputation: 225212
grep(1)
has a -o
flag that outputs only the matching part of the line. From the man page:
-o, --only-matching Show only the part of a matching line that matches PATTERN.
Your pattern isn't right to get the output you want, though. Try:
$ egrep -o 'key \w+' file
key word1
key word2
Upvotes: 67