我的思路是先全部列出然后转为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"