CURL和JQ替换值中的子字符串 [英] Curl and jq replace substring in value

查看:23
本文介绍了CURL和JQ替换值中的子字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过cURL,我从GitHub API获得了json:

curl https://api.github.com/repos/angular/angular/pulls?label=comp%3A+zones&state=closed&page=1&per_page=5

结果:

[
  {
    "url": "https://api.github.com/repos/angular/angular/pulls/33703",
    "id": 338899730,
    "node_id": "MDExOlB1bGxSZXF1ZXN0MzM4ODk5NzMw",
    "html_url": "https://github.com/angular/angular/pull/33703",
    "diff_url": "https://github.com/angular/angular/pull/33703.diff",
    "patch_url": "https://github.com/angular/angular/pull/33703.patch",
    "issue_url": "https://api.github.com/repos/angular/angular/issues/33703",
    "number": 33703,
    "state": "closed",
    "locked": false,
    "title": "add AOT mode default to version 9 upgrade doc",

      [...]

与JQ:

$ curl 'https://api.github.com/repos/angular/angular/pulls?label=comp%3A+zones&state=closed&page=1&per_page=2' | jq --raw-output '.[] | "(.id) (.title)"'

我可以很好地将其格式化为

338899730 add AOT mode default to version 9 upgrade doc
338868666 update jiali's info on collaborator page of angular.io

如何在输出前从标题值中删除addupdate

推荐答案

使用sub,例如:

.[]
| "(.id) (.title|sub("^(add|update) *";""))"

这篇关于CURL和JQ替换值中的子字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆