Extract Nth line after matching pattern

awk, grep, regex, sed

Solution

To `extract the Nth line after a matching pattern` you want:

awk 'c&&!--c;/pattern/{c=N}' file

e.g.

awk 'c&&!--c;/Revision:/{c=5}' file

would print the 5th line after the text "Revision:"/.

See Printing with sed or awk a line following a matching pattern for more information.

Problem

I want to extract the Nth line after a matching pattern using `grep`, `awk` or `sed`. For example I have this piece of text: ``` Revision: 60000<br /> ``` And I want to extract 60000. I tried `Revision:([a-z0-9]*)\s*([0-9]){5}` which matches the Revision together with the revision number but when I pass it to grep: `grep Revision:([a-z0-9]*)\s*([0-9]){5} file.html` I get nothing. How can I achieve this?

Original source

Related problems