GitHub CLI指令使用

如何使用GitHub CLI指令将GitHub REPO内的issue题目和序号分别提取出来并存储

我的思路是先全部列出然后转为json格式,但转化后,由于每个issue长度不一致,所以切分的时候出现很多问题

gh issue list  --json --state all

后续思路就开始出错了,希望有人能帮忙提供一些思路

可以试试在后面用awk切分下试试

这里给你两种方法作为参考:

方法1. 下面的命令做成shell,之后进行format json

grep -Eo '"[^"]*" *(: *([0-9]*|"[^"]*")[^{}\["]*|,)?|[^"\]\[\}\{]*|\{|\},?|\[|\],?|[0-9 ]*,?' | awk '{if ($0 ~ /^[}\]]/ ) offset-=4; printf "%*c%s\n", offset, " ", $0; if ($0 ~ /^[{\[]/) offset+=4}'

测试执行:

cat file.json | json_pretty.sh

方法2. 使用jq, 教程参照:https://stedolan.github.io/jq/tutorial/

$ jq --color-output . file1.json file1.json | less -R

$ command_with_json_output | jq .

$ jq # stdin/"interactive" mode, just enter some JSON

$ jq <<< '{ "foo": "lorem", "bar": "ipsum" }'
{
  "bar": "ipsum",
  "foo": "lorem"
}

获取值:

$ jq '.foo' <<< '{ "foo": "lorem", "bar": "ipsum" }'
"lorem"