You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac命令行提取文档片段存新文件及ReleaseNotes条目提取方法问询

提取Markdown文档中首个版本的发布说明(Mac命令行)

嘿,我来帮你搞定这个需求!针对从ReleaseNotes.md里提取第一个版本条目并保存为新文件的场景,awk是最直观且高效的选择——它天生适合处理这种按区块分割的文本,而且Mac系统自带,不用额外装工具。

方案1:用awk实现(推荐)

直接在终端运行这条命令:

awk '/^## / {if (found) exit; found=1} found' ReleaseNotes.md > LatestReleaseNotes.md

命令逻辑拆解:

  • /^## /:匹配所有以## 开头的行(也就是版本标题行)
  • if (found) exit; found=1:第一次匹配到版本标题时,标记found为1;第二次匹配到新的版本标题时,直接退出脚本(因为我们只需要第一个版本)
  • found:当found为1时,打印当前行——这样就会输出从第一个版本标题开始,到下一个版本标题之前的所有内容

运行后,LatestReleaseNotes.md里就会只保留第一个版本的内容:

## 1.20.2 - 2020-09-11
* [UID-4782] - Connectivity issues fixed

方案2:用sed实现

如果你更习惯sed,也可以用这条命令:

sed -n '/^## /,/^## /{/^## /{p;n};p;q}' ReleaseNotes.md > LatestReleaseNotes.md

命令逻辑拆解:

  • -n:让sed只打印我们指定的行
  • /^## /,/^## /:匹配从第一个## 行到第二个## 行的区间
  • {/^## /{p;n};p;q}:遇到第一个版本标题时,打印它并跳过后续判断;打印区间内的其他行,直到遇到第二个版本标题时直接退出(q命令),从而只保留第一个版本的内容

工具选择说明

  • awk/sed都是Mac默认预装的工具,无需额外安装,兼容性拉满
  • 相比grep(默认单行匹配),awk/sed能更方便地处理多行区块的提取
  • pcregrep虽然支持正则多行匹配,但对于这个场景来说有点大材小用,awk/sed的方案更轻量直接

内容的提问来源于stack exchange,提问作者SEG.Veenstra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 16:12:28