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

如何用sed过滤GitHub API JSON中的缩进行以提取仓库名称

提取GitHub仓库名称的sed解决方案

直接用这条命令就能搞定,它会精准过滤出带"name"的行,同时自动去掉缩进和多余的JSON符号,只留下干净的仓库名称:

sed -n 's/^[[:space:]]*"name": "\(.*\)",/\1/p' htop.json

拆解下命令的核心逻辑:

  • -n:让sed只输出我们明确指定的行,避免默认输出所有行造成冗余
  • s/匹配模式/替换内容/:sed的替换核心命令,这里用来剥离无用内容
  • ^[[:space:]]*:匹配行首任意数量的空白字符(缩进),[[:space:]]是跨平台的空白匹配规则,比\s兼容性更好
  • "name": "\(.*\)":精准匹配"name": "开头的内容,用\(.*\)捕获引号里的仓库名称(这部分是我们要保留的核心)
  • ,\1:把整行替换成捕获到的仓库名称(\1对应前面\(.*\)捕获的内容),同时去掉行尾的逗号
  • p:只有替换成功的行才会被输出

如果你的系统对[[:space:]]支持有问题(其实绝大多数现代系统都没问题),也可以用更直白的空格+制表符匹配:

sed -n 's/^[ \t]*"name": "\(.*\)",/\1/p' htop.json

运行后你会得到类似这样的干净结果:

htop-dev/htop
libsdl-org/SDL
ncurses/ncurses
...

全程只用sed实现,轻量无额外依赖,跨平台兼容性拉满~

内容的提问来源于stack exchange,提问作者Tim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:59:32