How to show only next line after the matched one?
If you want to stick to grep:
grep -A1 'blah' logfile | grep -v "blah"
or alternatively with sed:
sed -n '/blah/{n;p;}' logfile
you can try with awk:
awk '/blah/{getline; print}' logfile
Piping is your friend...
Use grep -A1
to show the next line after a match, then pipe the result to tail
and only grab 1 line,
cat logs/info.log | grep "term" -A1 | tail -n 1
Great answer from raim, was very useful for me. It is trivial to extend this to print e.g. line 7 after the pattern
awk -v lines=7 '/blah/ {for(i=lines;i;--i)getline; print $0 }' logfile