我有一个包含多个部分的文本文件,我想打印其中一个部分。
文件的一部分看起来像
3. line 3
4. line 4
## Screenshots ##
1. line 1
2. line 2
3. line 3
4. line 4
## Changelog ##
3. line 3
4. line 4
从这里我想检索## Screenshots ##
下一节开始之间的所有行。下一部分是## Changelog ##
,但它可以是任何东西。所以我们唯一可以依赖的是它会以##
.
从另一个线程,我找到了以下代码
sed -e "H;/${pattern}/h" -e '$g;$!d' $file
我修改为
sed -e "H;/## Screenshots ##/h" -e '$g;$!d' readme.md
现在,它检索从 开始的所有行## Screenshots ##
,但它会打印所有行,直到文件末尾。
然后我把它传给另一个sed
像
sed -e "H;/## Screenshots ##/h" -e '$g;$!d' readme.md | sed "/^##/q"
但现在它只打印
## Screenshots ##
无论如何我可以打印屏幕截图部分中的所有行吗?