Print lines between 2 words
January 18, 2025 ยท View on GitHub
You may arrive in a situation where you may want to "extract" out text between two words.
For example to view the latest changelog (where x.x.x is the latest version) in a CHANGELOG.md file.
Using sed
sed -n -e '/x.x.x/,/0.1.0/ p' CHANGELOG.md | sed -e '1d;$d'
sed -e '1d;$d' removes the first & last line.
Using awk
awk '/x.x.x/,/0.1.0/' CHANGELOG.md | awk 'NR>2 {print last} {last=\$0}'
awk 'NR>2 {print last} {last=\$0}' removes the first & last line.
NOTE:
NRmeans which Line number is being processed