我想获取文件中的内容,直到找到内容中的正则表达式。我需要这个来报告我的最新变更日志
示例:
## <small>0.27.3 (2019-03-18)</small>
* Fix integration tests
* Change log message
## <small>0.27.2 (2019-03-18)</small>
* Change find to filter
* Fix bug in typo
* Format message in request
我希望正则表达式返回所有最新版本的内容。示例:
## <small>0.27.3 (2019-03-18)</small>
* Fix integration tests
* Change log message
如何使用sed,grep或awk做到这一点?
谢谢
编辑:
我可以做到:
CHANGELOG_MESSAGE=$(head -n 1 CHANGELOG.md)$(head -n 20 CHANGELOG.md | tail -n 19 | sed '/##/q' | awk '!/##/')
我认为该解决方案有些复杂,但是可以解决
答案 0 :(得分:1)
尝试一下:
sed '1p;1,/^##/!d;/##/d' CHANGELOG.md
解释
1p # print first line
;
1,/^##/!d # delete everything after second ##-line
;
/##/d # delete all lines start with ##
输出
## <small>0.27.3 (2019-03-18)</small>
* Fix integration tests
* Change log message