我们的构建服务器需要向apps发布应用程序。App允许我提供一个发布说明文件。
问题是,我们的ReleaseNotes.md
包含了所有的版本,并且成为应用程序中心的大客户来接受它。
注释的格式如下:
# Project - Release Notes - Android
## 1.20.2 - 2020-09-11
* [UID-4782] - Connectivity issues fixed
## 1.20.1 - 2020-09-08
* [UID-4639] - Update Color
* [UID-4760] - Changed some stuff
如何只获取第一个条目并将其保存到文件中?:
## 1.20.2 - 2020-09-11
* [UID-4782] - Connectivity issues fixed
然后把它保存到一个文件里?
如果查看像awk、grep、sed和pcergrep这样的工具,但我对这些工具并不熟悉,我也不知道哪一种工具适合这项工作。
发布于 2020-10-20 13:57:12
使用sed
sed -n '/^##/,/^$/{p;/^$/q;}' input_file > output_file
-n
:不通过default./^##/
:打印行,查找以##
./^$/
:开头的行,同时查找空的line./^##/, /^$/
:--这意味着对于以##
开头的行和以空line.p
:开头的行之间的每一行,如果行为空,则打印line./^$/q
:。我们这样做是因为否则sed将处理下一个更改块。发布于 2020-10-19 15:36:47
这家伙应该把工作做好:
awk -v RS= '/^##/{print; exit}' file
## 1.20.2 - 2020-09-11
* [UID-4782] - Connectivity issues fixed
发布于 2020-10-19 15:28:39
在“段落模式”中使用awk
,方法是将RS设置为空字符串,然后将其保存到另一个文件:
awk -v RS= '/issues fixed/' file > file2
## 1.20.2 - 2020-09-11
* [UID-4782] - Connectivity issues fixed
https://stackoverflow.com/questions/64428465
复制相似问题